One minute
これからGoやる人のためのGOPATH
Goはじめて3ヶ月。
Goいいな、Goクソだなと日々葛藤。
Goをこれからはじめようという人が迷いそうな(俺が迷った)GOPATH
について。
Goのインストール
インストール自体はbrewで速攻終わる。
$ brew install go
問題はこの後の$GOPATH
の設定。
GOPATHって何
http://golang-jp.org/doc/code.html#GOPATH
GOPATH環境変数はワークスペースの場所を示してします。
そのままなのだが、つまり、
- Goを書くのは全部このパス下でやってね
- Go書く上で依存してるライブラリのソースも全部このパスに入るよ
ということで、例にあるようにそのまま、
$ export GOPATH=$HOME/go
$ export PATH=$PATH:$GOPATH/bin
としているが、特に困っていない。
Goを書く
じゃGo書くぜってことになるが、GOPATH直下に書くわけではない というのがめんどくさいところ。
まず、Goを書く時は、GitHubに公開する前提 と考えておいたほうがよい。 というのも、Goを書いていると頻出するが、外部ライブラリの import文はほぼ、GitHubのURLになる。
import "fmt" // 標準パッケージ
import "github.com/takecy/hoge" // OSSのライブラリ
github.com/{account_name}/{repository_name}
でimportできるステキ仕様。
そしてライブラリのメソッドとか呼び出すためには、ソースコードを取得しないといけないので、下記を実行する。
$ go get github.com/takecy/hoge
ここで、GOPATH
が登場する。
このライブラリがダウンロードされ、配置されるパスは
$GOPATH/src/github.com/takecy/hoge
になる。
自分のGoのプロジェクトもこれと同じように、
$GOPATH/src/github.com/{account_name}/{repository_name}
ディレクトリを作って、そこにGoソースを作成してスタートする。
GitHubで公開する気とか無いし、、と思っても、このパスで作るのがおすすめ。
まとめ
Goやり始めた当初は、元々$HOME/git
下に全部GitHub関連入れていたので、移動したくなく、GOPATHにシンボリックリンク貼ったりとかして抵抗していたのだが、結局Go関連は、全部移動することに。。
同じGitHubからのソースなのに、全然別のディレクトリになっているもやもやは地味にストレス。
が、GitHubのURLをimportに書けるというのはすごくいい。
例えばJavaでよくある、「このライブラリすごくよさそうだけど、mavenにあがってねーじゃん、、」ということもない。
Let’s write Go。
どうでもいいけど、Goのライブラリ名はダジャレがちらほら。
例えばRedisのドライバは redigo 。