やっとこさはじめました。
まずはインストール
brew install
%which go
/usr/local/bin/go
%go version
go version go1.2.1 darwin/amd64
こんな感じ。 さて vim 環境整えて何か書いてみよう
以下、はじめての Go
%cat first.go
package main
import "fmt"
func main() {
fmt.Print("Hello go world !!\n")
}
%go run first.go
Hello go world !!
%
とりあえず、こんな設定をした。
.zshrc
# for go lang
if [ -x "`which go`" ]; then
export GOROOT=`go env GOROOT`
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
fi
# Go completion
# if [ -f $GOROOT/misc/zsh/go ]; then
# source $GOROOT/misc/zsh/go
# fi
.vimrc
" golang
if $GOROOT != ''
set rtp+=$GOROOT/misc/vim
"gocode
exe "set rtp+=".globpath($GOPATH, "src/github.com/nsf/gocode/vim")
"golint
exe "set rtp+=".globpath($GOPATH, "src/github.com/golang/lint/misc/vim")
endif
install gocode
mkdir -p $GOPATH/bin
go get github.com/nsf/gocode
$GOPATH/src/github.com/nsf/gocode/vim/update.sh
go get github.com/golang/lint
lint はなんだか動いていない。また今度見てみる。
:Import fmt とかすると、勝手にファイル上の方に
import (
"fmt"
)
とか追加される。便利そう。C-x C-o の omni 補完も上手く活用していきたい。
:Godoc net/http とかするとドキュメントが見られるそうだが動いていないのでこれもまた今度。
:Fmt で、コードが整形される。これはいい。.vimrc に以下でファイル保存時に勝手にフォーマットしてくれるようにもなる。
auto BufWritePre *.go Fmt