👌
初心者情シスがGoの勉強を始めてみました(環境構築編)
tl;dr
- 社内のとあるツールを整備するのにGoで書かれていることがわかった
- 社内にGo言語に明るい先生が多く、わからないところは聞きやすそう
- 久々にプログラミング言語を体系立てて勉強する機会がやってきた!
自分のスペック
- 今までやってたこと
- 24*365で稼働するシステム運用保守を10数年間
- 運用保守業務のプロセス設計、プロジェクトマネジメント
- 社内業務の生産性向上のための各種ツール作成
- プログラミングスキル:総じてジュニア
- Linuxのコマンドを叩いたり、bashを書く程度
- Javaも処理フローが読める程度
- GASはUbie入社してから開発・メンテナンスを手がける(3ヶ月くらい)
- インフラスキル:省略
何から始めたの?
というのもわからなかったので、先生に聞いたら「みんGOでしょ、第2版いいよ!」ということだったので早速Get.
本に沿って、環境構築からスタート!
環境構築
Goのインストール
-
brew install go
コマンドを実行- brewはすでにインストール済みだったので、幸先の良いスタート
- 10分くらいで完了
-
which go
でコマンド返ってきた
- PATHを通す
- GOPATHっていうのがある模様
- M1 macだからか、教科書とちょっと違うpathだけど、気にせず進んでみよう
/opt/homebrew/Cellar/go/1.17.5/libexec/bin
- パッケージインストール
- goreっていうツールをインストールするらしい
- ダメそう
go get: github.com/motemen/gore@v0.5.3: parsing go.mod: module declares its path as: github.com/x-motemen/gore but was required as: github.com/motemen/gore
- なるほど、x-motemenに変わってた模様、そっちでインストール
- できたけれど非推奨らしい。自分は1.17だったので警告が出たのか
go get: installing executables with 'go get' in module mode is deprecated. Use 'go install pkg@version' instead. For more information, see https://golang.org/doc/go-get-install-deprecation or run 'go help get' or 'go help install'.
- 1.17から非推奨であり、1.18からは使えなくなりそう
- https://future-architect.github.io/articles/20210818a/
Goをお試ししてみよう
- goreでHello Worldをやってみる
- 早速対話型になった!
moritatakahiro@MacBook-Pro-tamosan ~ % gore -autoimport gore version 0.5.3 :help for help gore>
- 叩いてみる、がWarning出る
gore> fmt.Println("Hello World") warning: GOPATH set to GOROOT (/opt/homebrew/Cellar/go/1.17.5/libexec) has no effect Hello World 12 nil gore>
- 終了してみる
- quitやexitを試したが違う、^Dとのこと(親切
gore> quit warning: GOPATH set to GOROOT (/opt/homebrew/Cellar/go/1.17.5/libexec) has no effect undefined: quit gore> exit warning: GOPATH set to GOROOT (/opt/homebrew/Cellar/go/1.17.5/libexec) has no effect undefined: exit gore> ^C (^D to quit) gore> % moritatakahiro@MacBook-Pro-tamosan ~ %
ところでwarningは一体?
- 最初のPATH設定をミスしていた
- 正:export GOPATH=$(go env GOPATH)
- 誤:export GOPATH=$(go env GOROOT)
総括
- 所要時間:30分
- 環境構築は本の通りに進められれば初心者でもすんなり構築できそう
- ただバージョン差異などで本と異なる環境になりうるので、少しでも気になったら調べると吉だった
追記
続きやろうと思ったら環境変数が消えているという凡ミスをしていた。
~/.zshrc
に上書きして再発防止完了。
Discussion