はじめに
最近、仕事でGo触り始めたので、改めて環境構築の手順の確認と、今後Goを触りたいっていう人の参考になればなぁと思います。
ちなみに、自分の手元の環境は以下。
OS : macOS Catalina 10.15.2
→ 好奇心でzshにも切り替えてます。
環境構築方法
以下の2つをまとめていこうかな、と思います。
どちらも簡単なので、パーっと終わるかと。
あとPATH通したりの作業は必要ですが、Homebrewでインストールもできます。
- 公式からDLしてインストール
- goenvを使ってインストール
公式からダウンロード
インストール
インストーラに従って進めるのみ。
PATHを通す
// bash使ってる人は、.bash_profileとかに置き換えてくださいー。
% echo 'export PATH="$PATH:/usr/local/go/bin"' >> ~/.zshenv
GOPATHの確認
% go env GOPATH
/Users/hogehoge/go
GOPATHは、Goのワークスペースを指定する環境変数です。
上のディレクトリにsrc
ディレクトリを作成し、その中にプロジェクトを作成していきます。
{$HOME}/go
がデフォルトみたいですね。
もしGOPATH変えたい人は、以下でGOPATHの変更が可能です。
% go env -w GOPATH=お好きなディレクトリ
詳しくはこちらを参照ですね。
他にもGoは、色々な環境変数が準備されていて、go env
を実行すれば、他の環境変数を確認できます。
今回は環境構築ということで、無視します。
goenvを使ってインストール
goenvって??
ざっくりいうと、goのバージョン管理を行うためのツールです。
プロジェクト毎に、goのバージョン指定できるので、Aプロジェクトは1.12で、Bプロジェクトは1.13みたいな感じでバージョン指定ができます。
pyenvとかrbenvとかのgo版です。gitページにもpyenv等に倣うって書いてあります。
goenvのインストール
% git clone https://github.com/syndbg/goenv.git ~/.goenv
// brew 入ってる人はbrew installでいけます〜。
セットアップ
// bash使ってる人は,.bash_profileとかに置き換えてくださいー。
% echo 'export GOENV_ROOT="$HOME/.goenv"' >> ~/.zshenv
% echo 'export PATH="$GOENV_ROOT/bin:$PATH"' >> ~/.zshenv
% echo 'eval "$(goenv init -)"' >> ~/.zshenv
% exec $SHELL
確認
% goenv -v
goenv 2.0.0beta11
% goenv install -l
Available versions:
1.2.2
... // 過去のモノからたっくさん出てきます。
1.13.8
1.14beta1
1.14rc1
バージョンの設定
↓のような感じで、goenv local x.x.x
を実行すると、そのプロジェクトのバージョン指定ができます。
goenv local
を実行すると、.go-version
ファイルが作成され、その中にgoのバージョンが書かれています。
他にもいくつかコマンドありますけど、いつか記事にできたら、と思いますー。
% goenv local 1.13.7
% cat .go-version
1.13.7
% go version
go version go1.13.7 darwin/amd64
ということで、動作確認
% cd $GOPATH
% mkdir -p src/hello
% vi hello.go
以下、公式から持ってきたソースをコピペ〜。
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
buildします。
% go build
// buildして、helloという実行ファイルが作成されました。
% ls
hello hello.go
では、実行します!!
% ./hello
hello, world
出ましたーーーーー!!
お馴染みのhello world!!
ということで、ざざっとgoの環境構築は完了になります。
あとは、goの基本文法とかは A Tour of Goで学ぶことができます。