インストール
- Getting Started に従って作業する
- Downloads のインストーラを実行
- インストールされるファイル
- /usr/local/go
- /etc/paths.d/go
動作確認
$ mkdir -p $HOME/go/src/hello
$ cd $HOME/go/src/hello
$ cat <<EOT > hello.go
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
EOT
$ go build
$ ./hello
hello, world
$ go install
$ ~/go/bin/hello
hello, world
Workspace
お節介な事であるが、Go では開発者のディレクトリの構成を強制している。これを Workspace という。デフォルトで $HOME/go 環境変数 GOPATH で変更出来る。GOPATH にはデリミタで区切って複数のディレクトリを指定出来る。
-
bin
:go install
で出来た実行ファイルがここに入る。 -
pkg
:go install
で出来たライブラリパッケージがここに入る。 -
src
: ソースコードを入れる所。
ライブラリが入る場所が環境変数で決まる言語はよくあるが、バイナリやソースの位置まで指定するのは珍しい。
残念ながら標準でライブラリのバージョンを固定する機能は無い。Go の設計思想から言ってそういうのも標準に入れるべきだと思うが今は govendor などサードパーティのツールを使う。そうすると npm っぽく使えるようだ。