Go開発環境構築(Mac)
Go開発環境構築(Mac)
環境情報
| 情報 | |
|---|---|
| OS | macOS High Sierra 10.13.6 |
| Homebrew | 2.4.8 |
| Go | 1.14.5 darwin/amd64 |
目次
- Golangのインストール
- GOPATHの設定
- 開発支援ツール
Golangのインストール
Go公式のインストーラ でも出来ますが、Macなのでパッケージ管理のHomebrewを使ってインストールしていきます。
① インストール & 確認
$ brew install go
$ go version
go version go1.14.5 darwin/amd64
GOPATHの設定
外部パッケージのリソースなどが保存されるPATH情報。 実行バイナリもGOPATH内に配置されるため、PATHを通しておく。
① 現在のGOPATHを確認する。標準では$HOME/goが設定されている。
$ go env GOPATH
② GOPATHの向き先を再設定する。ターミナルでexportを実行するだけだと、ターミナルを再起動した場合に設定した値が消えてしまうため、~/.bashrcに記載し、起動時に毎回実行されるように設定。
# 以下を追記する
export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH:bin
③ .bashrcを読み込む。(ターミナル再起動でもOK)
$ source ~/.bashrc
開発支援用ツール
Goが標準で提供している機能はgo helpで確認可能。
標準での提供はしていないが、公式に開発されている有用なコマンドラインツールがあるため、必用に応じてインストールする。
gofmt
コードフォーマッターのコマンド。インデントや改行位置などを自動調整する。
type Todo struct {
ID uint64 `json:"id"`
Title string `json:"title"`
Finished *bool `json:"finished,default:18"`
CreatedAt time.Time `json:"created_at"`
}
↓
type Todo struct {
ID uint64 `json:"id"`
Title string `json:"title"`
Finished *bool `json:"finished,default:18"`
CreatedAt time.Time `json:"created_at"`
}
goimports
gofmtの上位互換のようなツール。コードフォーマッターの機能とプラスしてパッケージを読み込むimport文の挿入と削除を自動的に行う。
※ Goは使用されていないパッケージがimport宣言されている場合にコンパイルエラーになる
go vet
バグの原因となりそうなコードを検出するコマンド。
$ go vet main.go
$ go vet .
$ go vet ./...
golint
Goらしくないコーディングスタイルに対して警告をするコマンド。
$ golint ./...
$ golint -set_exit_status ./...
※ -set_exit_statusを指定することで、警告が出た場合にコマンドをエラー終了する。CIの実行などはこのオプションを指定するとよい。
go doc(godoc)
ドキュメント閲覧用のコマンド。godocの方がブラウザで確認できるため、ドキュメントが見やすい。
go doc・・・対象のパッケージのドキュメントが標準出力される。
godoc・・・GOMODに設定されている.modファイルをもとに、パッケージのドキュメントがブラウザで確認可能。
$ go doc -all fmt
$ godoc
Discussion