Go言語の開発環境構築したメモ

メモです。

Goをインスコするためにgvmをインスコする

Ubuntu使ってるんですがaptにあったのなんかすごい古いっぽかったのでソースインストールかなぁと思ってたら、どうやらgvmと言うrbenvみたいなやつがあるらしくそれ使ったほうがいいとのことです。

gvmをインスコするためにgvmを削除する

gvmって聞いて、あれ?Groovyでもそんなんなかったっけ?と思ったらやっぱりありました。なんかそれでgvmはsdkmanに名前変わったらしいです。
gvm(groovyの方)は起動して指示に従えばさくっとsdkmanに更新され、互換性のために.gvmディレクトリが.sdkmanディレクトリへのシンボリックリンクに変わったり、gvmコマンドがsdkコマンドへのaliasに変えられたりします。
が、この状態でgvm(golangの方)をインスコするといろいろ競合してつらい思いをすることになるっぽいので、sdkmanへの更新が終了したらaliasと.gvmリンクを削除しておきます。

gvm(golangの方)をインスコする

ググれば出てきます。

pkgsetを作る

golangはGOPATH決めたらライブラリ含め全てのソースはその配下に収める流儀で好きな場所にアプリディレクトリ作れないらしく、例えばIDEがworkspaceとかprojectsディレクトリとかを持ってる場合、クッこれが世界の選択か…と言う気分になるらしいです。

gvm使うとpkgsetとかいうのが作れて、任意のGOPATHが作れていろいろ切り替えられるらしいです。

mnrtks's blog | gvmを用いてRevelの開発環境を作成

に従って、

cd ~/IdeaProjects
mkdir hogehoge
cd hogehoge
gvm pkgset create --local
gvm pkgset use --local

とすると、アプリごとにローカルなpkgsetを作れていろいろ分離できるとのこと。

IntelliJ IDEAにgolangプラグイン入れる

IDE厨なので何をするにもIDEが無いと何も出来ないのでプラグイン入れます。

http://stormcat.hatenablog.com/entry/2015/04/13/123000

見れば大体大丈夫だと思います。
ただ、ローカルのpkgsetの様子まではIDEAさん分からないのでGOPATH分からんぞみたいなことを警告してきます。
その場合は、上記の例で言うとhogehogeディレクトリを指定すれば大丈夫っぽいです。

Hello World 実行する。

src/{yourdomain}/{name}/{app} でHello World書きます。
コード右クリックして実行選ぶとビルドされて実行され、golang完全にマスターできます。

バージョン管理

hogehoge/src/{yourdomain}/{name}/{app} でgit initするとのことです。

まとめ

なんか世界観がいろいろ違って大変でした(こなみかん)