Go言語始めました

JetBrains製のGo言語IDE GoLandがリリースされていたので
Go言語を触り始めました。
このサイトはHugoで構築しているのでGoのことは多少は知っていたが、
自分でプログラミングに使うのはこれが初めてになる。
プログラミング言語に対して一家言あるわけではないが、
Goは性に合ったので、しばらく使っていこうかと思った次第です。

インストール

macportsにある。

$ sudo port install go

外部パッケージの取得に使われるので、
まだインストールしていなければ、gitmercurialあたりも入れとく

環境設定

説明に従い 環境変数GOPATHを設定し、$GOPATH/bin$PATHに追加する

$ export GOPATH=/path/to/gopath
$ export PATH=$GOPATH/bin:$PATH

依存管理とフォーマッタ(?)も入れておく (depは本体に取り込まれたらパスが変わりそうだな)

$ go get -u -v github.com/golang/dep/cmd/dep
$ go get -u -v golang.org/x/tools/cmd/goimports

あとはコード書く

$GOPATH/src/以下にプロジェクトディレクトリを作成。
リポジトリの構成にしておくのが良いらしい。
例えば Githubで管理しているなら

$ mkdir -p $GOPATH/src/github.com/<user>/<project>

作成したディレクトリへ移動して、dep初期処理

$ cd $GOPATH/src/github.com/<user>/<project>
$ dep init

Goコード(例えば main.go)を書いたら、依存パッケージをインストールする

$ dep ensure

実行する

$ go run main.go

コードを整える

$ goimports -w main.go

バイナリを作成する。(クロスコンパイルもできる)

$ go build

その他

設定とか依存管理とか、紆余曲折あって今の形になったようで、
ネットに古い記事が散見され、
慣れるまで少しめんどくさそうかもしれない。


See also