🗻

Go開発環境構築(Mac)

2021/05/31に公開

Go開発環境構築(Mac)

環境情報

情報
OS macOS High Sierra 10.13.6
Homebrew 2.4.8
Go 1.14.5 darwin/amd64

目次

  1. Golangのインストール
  2. GOPATHの設定
  3. 開発支援ツール

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に記載し、起動時に毎回実行されるように設定。

.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

参考

改訂2版 みんなのGo言語

Discussion