Homebrewでインストールする方法がいちばn楽そうです。
$ brew install go
インストールが終わったらビールの絵文字着きでメッセージが現れます。
==> Downloading https://homebrew.bintray.com/bottles/go-1.10.3.high_sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring go-1.10.3.high_sierra.bottle.tar.gz
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
https://golang.org/doc/code.html#GOPATH
You may wish to add the GOROOT-based install location to your PATH:
export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary
🍺 /usr/local/Cellar/go/1.10.3: 8,170 files, 336.7MB
2018-08-07時点で1.10.3がインストールされました。
$ go version
go version go1.10.3 darwin/amd64
「go get
コマンドを使うには、有効なGOPATHが必要です。$GOPATHが指定されていない場合、$HOME/goがデフォルトで使用されます:」ということなので設定したほうがいいかも。Bashを使っている場合は以下でOK
$ echo 'export GOPATH=$HOME/go' >> ~/.bash_profile
$ echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bash_profile
$ source ~/.bash_profile
.bash_profileに以下が追加されていればOK
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
有効化します。(またはユーザーをいったんログアウトしてから再度ログイン)
source ~/.bash_profile
これで完了。
適当なディレクトリ配下でテストします。
$ touch hello.go
以下のソースを書きます。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
コンパイルする。(久しぶりだな。ほんと)
$ go build
何故かgolangというバイナリができる。
実行してみます。
./golang
hello, world
これで最初の一歩終わり。
とりあえず入れておくといいことがあるらしい。
$ go get golang.org/x/tools/cmd/goimports
$ go get github.com/nsf/gocode
$ go get github.com/rogpeppe/godef
$ brew install go-delve/delve/delve
なんか出力がないので入った感がないのですが、入っている感じ。
$ which gocode
/Users/xxx/go/bin/gocode
$ which godef
/Users/xxx/go/bin/godef
$ which goimports
/Users/xxx/go/bin/goimports
個人的にAtomになってしまうんですみません。必要なパッケージは、
となります。上記2つ入れたら依存パッケージも入るはず。
適当な方法でインストールします。私はGUIから入れました。
インストールが終わったら、cmd+[,]で設定画面を開きgo-plusの設定を行うかGUI上でも設定できます。
GOPATHに~/goを設定します。
設定箇所 | 設定値 |
---|---|
GOPATH | ~/go |
設定は特にしなくてもいいです。KeybindのところがEnableになっていればとりあえずよいでしょう。
Goで書いたファイルをプロジェクトして開くとこんな感じになります。
こやつらをgo getしろというのが出てくるのでお好みで。
$ go get -u golang.org/x/tools/cmd/goimports
$ go get -u golang.org/x/tools/cmd/gorename
$ go get -u github.com/sqs/goreturns
$ go get -u github.com/nsf/gocode
$ go get -u github.com/alecthomas/gometalinter
$ go get -u github.com/zmb3/gogetdoc
$ go get -u github.com/zmb3/goaddimport
$ go get -u github.com/rogpeppe/godef
$ go get -u golang.org/x/tools/cmd/guru
$ go get -u github.com/fatih/gomodifytags
$ go get -u github.com/tpng/gopkgs
https://qiita.com/m0a/items/b7b27254a43d50b7aba2