そろそろしっかり手をつけていった方がいいかな? という感覚を持っているプログラミング言語はGoogleが設計したGo(Go言語、Golang)かなと思っています。(根拠はありませんw まあ、Googleなのでという感覚かな?)
日本ではまだすごく盛り上がってるわけでは無いかなぁという感じですけど、ちょこっとは「その時のために」かじっておきたいという感じです。
ということで、私のMac環境にもGoをインストールしていこうと思います。エディタはVScodeを使おうと思います。(ついでにアンインストール方法までやっておきます)
MacにGoをインストールする
MacにGoをインストールしていきます。Homebrewを使ってもいいのでしょうけど、今回はGoの公式サイト( https://golang.org/ )からインストーラーをダウンロードしてインストールしようと思います。
golang.orgにアクセスすると、次のような画面になります。
真ん中あたりにあるキャラクターのところの「Download Go」をクリックします。
すると、次のようなダウンロード画面に移動します。
この中の自分にあったインストーラーをクリックしてダウンロードします。
私の場合はMacなので「Apple macOS」のpkgファイルをダウンロードします。この時点では、go1.14.2.darwin-amd64.pkgをインストールすることになります。
あとは、ダウンロードしたpkgファイルをダブルクリックして、画面の指示にしたがってインストールするだけです。
「続ける」をクリックします。このあたりは全く難しいことは無いと思います。よくあるインストール作業ですので指示にしたがってクリックしていきます。
このように、途中でパスワードを聞かれると思いますので、パスワードを入力して「ソフトウェアをインストール」をクリックします。
このように表示されたらインストール完了です。
インストールできたかどうか、ターミナルから次のコマンドでバージョンをインストールされた位置を確認してみましょう。
go version
which go
すると、次のような感じでバージョンとgoの場所が表示されるはずです。
これでMacにGoがインストールできたことが確認できました。
MacにGoをインストールした場合は、環境変数に /usr/local/go/bin へのパスを記述する必要があるとドキュメントの「macOS package installer」のところに記載されています。
.zshrcファイルをターミナルから開きます。
open ~/.zshrc
ファイルが開いたら、次のように記述します。
export PATH=$PATH:/usr/local/go/bin
記入が終わったら、保存してターミナルを再起動します。
これでGoが扱えることになります。
実際に動くかテストする
では、実際にGoプログラミングが動くかテストしてみます。任意の場所にhello.goというファイルでも作って、次のコードを記述して保存します。
package main
import "fmt"
func main() {
fmt.Printf("hello, world")
}
後半の項目で実行方法について説明しますが、とりあえずターミナルから次のコマンドを実行します。
go build hello.go
./hello // hello, world
ターミナルに、” hello, world “と表示されたら、テスト完了です。
GOPATHの設定
少し前のGoは、ターミナルから次のコマンドでGOPATHを表示することができました。
echo $GOPATH
ただし、最新のGoをインストールすると、PATHは通っているようなのですが、ターミナルにパスの位置の表示はされません。
単にコードを確認するだけならそのままでも使えるのですが、パッケージを利用する時などにエラーが生じる場合もあるので、開発を進めるためにはGOPATHを設定しておくのが良いようです。
Goでプログラミングする時は、作業ディレクトリを、ユーザーのホームディレクトリの下に、次のような構成でディレクトリを作り、ここにGOPATHを通します。
Goがインストールされると自動で作成される場合もあるようですが、無ければ bin、pkg、srcフォルダを上記のように作成します。
ターミナルのコマンドで、.zshrcファイルなどに記入しておきます。
ターミナルから次のコマンドで.zshrcファイルを開きます。
open ~/.zshrc
ファイルを開いたら、次のように記載します。
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
記入が終わったら、保存してターミナルを再起動します。
次のコマンドを入力して実行してみましょう。
echo $GOPATH
次のように、GOPATHが表示されます。
とりあえずはこれでOKでしょう。念のため設定しておきました。
なお、go installコマンドを使う場合に、「GOBIN must be an absolute path」というエラーメッセージが表示されることがあります。その時は、GOBINを絶対パスで設定する必要があります。設定が必要な場合には、以下の記述を加えれば対応できるでしょう。
export GOBIN=$HOME/go/bin
ちなみに、Goでの作業は、この srcフォルダの中にプロジェクトフォルダを作って、そこにgoファイルを設定してコードを書いていくというのがデフォルトの使い方のようです。
自分の好きな場所にworkspaceといった任意のディレクトリを作って上記のフォルダ構成で作業しても良いのですが、その時は上記のGOPATHが通るように正しく書き換えましょう。
なお、実際にコードを作成する時は、srcフォルダの中に任意のプロジェクトフォルダを作成して、その中にファイルを作成してプログラミングしていきます。そうしないと動かないパッケージツールが出てきます。
VScodeの設定
VScodeのインストールも公式サイト( https://code.visualstudio.com/ )からインストーラーをダウンロードしてインストールするだけです。
私は、Pythonを利用するためにAnacondaをインストールする時にサジェストされて一緒にインストールしました。(今はPyCarmがサジェストされるのかな)
VScodeを開いて、コマンドパレットを呼び出します。
メニューの「表示」から「コマンドパレット」で呼び出すことができます。
コマンドパレットが表示されるので、次のように入力します。
Go:Install/Update Tools
入力してreturnキーを押すと、次のように表示されます。
左側のチェックボックスを全て選択して、「OK」をクリックします。
あとは、VScodeの拡張機能にGoのパッケージをインストールしておきます。拡張機能の検索窓に「Go」と入力すればMicrosoftが作成した拡張パッケージが表示されるので、それをクリックしてインストールします。
以上でVScodeを使ってGoの環境設定ができました。(もちろん、これだけに限りませんけども)
いずれは有料のIDEである JetBrains GoLandとかを使ってみたいですけどね。
Goの実行方法
Goはコンパイル言語なのでコンパイルしてから実行する必要がありますが、そのままPythonなどのようにコマンドから実行して簡単に確認することもできます。
ここではこの2つの実行方法について確認しておきます。
hello.goというファイルを作って、次のようにコードを記述します。(上でも書いたように、srcディレクトリのの中に適当なフォルダを作って、その中にファイルを作ってコードを書くのが本来の形ですが、ここではテストなので任意の場所にファイルを作っても動作させています)
package main
import "fmt"
func main() {
fmt.Println("Hello Go!")
}
VScodeにコードを記述するわけですが、fmainと入力してtabキーを押せばスニペットでfunc main(){}のブロックが自動で表示されます。
保存するとpackage mainが自動で挿入されます。
fmt.Println(“Hello Go!”)を記述して保存するとimport “fmt”が自動で挿入されます。
このように補完機能を利用してコードを書くことができますが、どこに何を記述すべきなのかは知っておきましょう。
では、実行方法を見ていきましょう。
go build コマンド
まずは、コンパイルして実行する方法です。go buildコマンドで実行します。(インストール後にテストした方法と同じです)
go build ファイル.go
でビルドします。
./ビルドされたファイル名
で実行です。
ターミナルから、次のように実行します。
go build hello.go
./hello
実行すると次のようになります。
Hello Go!と表示されているのがわかります。
go run コマンド
次は、コンパイルせずに手軽に確認する方法です。Go言語が軽量な言語だからできるという話らしいですが、go runコマンドで実行します。
go build ファイル.go
で実行します。
ターミナルから、同じファイルを次のコマンド実行してみます。
go run hello.go
実行すると、こうなります。
同様に、Hello Go!と表示されました。
Goのアンインストール方法
バージョンが変わったり、Homebrewでインストールし直したいとか思った時のために、アンインストール方法もついでにまとめておきましょう。
公式サイトのこちらに記載があります。
要するにファイルを削除するだけでいいのですが、2カ所の該当部分を削除します。
Macの場合はMacintosh HDの隠しファイルにあります。
[⌘] + [shift] +[.(ドット)]キーを押せば隠しファイルが表示されます。
次の2つの位置のgoフォルダとファイルを探します。
/usr/local/go
/etc/paths.d/go
この二つのgoのフォルダとファイルを削除すればアンインストールが完了です。.zshrcファイルに記載したPATHも削除しておきましょう。
まとめ
ここでは、Goのインストールについてまとめてみました。
公式サイトのインストーラーなので簡単でしたが、hemebrewを利用する人もいるでしょう。それについてはまた別の機会にでもと思っていますが、まあ、特に難しくは無いです。hemebrewを使っている人には簡単なことでしょう。
VScodeをしっかり設定すると補完機能には最初びっくりさせられます。保存でインデントなども整理してくれるようになっています。
GOPATHなどの環境変数の設定には過去のバージョンと勝手が違うようなので、いろいろと試してみる必要があるかもしれません。
バージョンを入れ替えたい人のために、アンインストール方法もまとめておきました。
実行に関しては、ビルドするのがいいのでしょうけども、ここでは動きを確認するくらいのものであればrunコマンドを使って記事を書くことになると思います。
Go言語の入門について、以下に順次まとめていこうと思います。