この言語がいいねと同僚が言ったから12/20はGolang記念日
ということでここ最近FrontendもServerSideもほぼJSしか使ってないエンジニアがGolang始めてみるまでのまとめです。
環境構築
Goインストール
各言語のバージョン管理にAnyenvを使っているので、GolangもAnyenv経由でgoenvを使ってインストールします。
なぜかAnyenv経由だとこのあとのgo get
が上手く動かなかったので、Homebrew経由でgoenv入れることにしました。
brew install goenv
exec $SHELL -l
goenv install --list
goenv install 1.9.2
goenv global 1.9.2
exec $SHELL -l
$ go version
go version go1.9.2 darwin/amd64
これでおk
GOPATH設定追加
Golangを動作させるためには環境変数にGOPATH
を追加しなければいけないとのこと。
GOPATH
にはgo get
で追加するパッケージが置かれる他に、どうやらGolangで書くプロジェクトもGOPATH
の下に置いたほうがいいみたいです。
できればその辺は分けたいので2つGOPATH
を設定することにしました。
基本的にはDockerで動作させるので、一旦はパッケージが置かれるディレクトリのみを設定します。何故か2つ定義するとvim-goが荒ぶるので。。。
# Golang
export GOPATH="$XDG_CACHE_HOME/go"
# PATHs
path=(
/usr/local/{bin,sbin}
$XDG_CACHE_HOME/go/bin # これを追加
$path
)
Vim環境構築
VimmerなのでVim用の開発環境を構築します。
必要なライブラリのインストール
補完用のgocode
とLinterのgolint
をインストールします。
go get -u github.com/nsf/gocode
go get -u github.com/golang/lint/golint
Vim用プラグインの追加
[[plugins]]
repo = 'zchee/deoplete-go'
on_ft = ['go']
[[plugins]]
repo = 'neomake/neomake'
on_ft = ['go']
[[plugins]]
repo = 'fatih/vim-go'
on_ft = ['go']
vim-go
で利用するパッケージをインストールするために、vim起動後に:GoInstallBinaries
を叩きます。
まずはGolangに挨拶(HelloWorld)
これで環境構築出来たっぽいので、GolangのHello World書いてみます。
package main
func main() {
fmt.Printf("Hello World\n")
}
こんな感じで書いたら、Vimから:GoImport fmt
を実行すればfmt
のimport
文が自動生成され、:GoRun
すれば実行されます。(・∀・)イイネ!!
これでGolangに挨拶できました。
次はWebApp作ってみます。
続く。