分享一下我的 Go 開發環境。

作業系統: Mac OS X 10.9

在 Mac 上要使用 Go 的最簡單方式是用 Homebrew 來安裝:

$ brew install go

安裝成功後,查看一下注意事項:

$ brew info go
go: stable 1.2 (bottled), HEAD
http://golang.org
/usr/local/Cellar/go/1.2 (3980 files, 115M) *
  Poured from bottle
From: https://github.com/mxcl/homebrew/commits/master/Library/Formula/go.rb
==> Options
--cross-compile-all
  Build the cross-compilers and runtime support for all supported platforms
--cross-compile-common
  Build the cross-compilers and runtime support for darwin, linux and windows
--without-cgo
  Build without cgo
==> Caveats
As of go 1.2, a valid GOPATH is required to use the `go get` command:
  http://golang.org/doc/code.html#GOPATH

`go vet` and `go doc` are now part of the go.tools sub repo:
  http://golang.org/doc/go1.2#go_tools_godoc

To get `go vet` and `go doc` run:
  go get code.google.com/p/go.tools/cmd/godoc
  go get code.google.com/p/go.tools/cmd/vet

Bash completion has been installed to:
  /usr/local/etc/bash_completion.d

zsh completion has been installed to:
  /usr/local/share/zsh/site-functions

接下來編輯 ~/.profile 設定 GOROOT 及 GOPATH 環境變數:

$ export GOROOT=`go env GOROOT`
$ export GOPATH=$HOME/src/go
$ export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

GOROOT 指定系統上的 Go 的安裝位置; GOPATH 則指定開發時使用的工作區; 另外把 $GOROOT/bin$GOPATH/bin 放到 PATH 裡方便取用 Go 相關工具。

Code Completion: gocode

gocode 主要提供 code completion 的功能,通常會跟程式編輯器例如 Vim, Emacs, 或是等下提到的 Sublime Text 整合在一起。gocode 本身就是用 Go 寫的,所以安裝就是透過 go get 來做:

$ go get -u github.com/nsf/gocode

編輯器: Sublime Text

Sublime Text 是新一代的程式編輯神器,大家應該都知道,我目前是用 3 beta 版,搭配 Monokai theme + Consolas 17pt 實在是非常的美。

字型設定:

{
  "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
  "font_face": "Consolas",
  "font_size": 17
}

畫面顯示效果如下:

Monokai + Consolas

GoSublime

目前我使用 Sublime Text 3 搭配 GoSublime

不過由於 GoSublime 似乎讀不到 GOPATH 的值,需要在 GoSublime.sublime-settings 裡再設定一次:

{
  "env": {
    "GOPATH": "/Users/patrick/src/go"
  },
}

⌘+. 兩次可以呼叫出 GoSublime 的功能表,支援相當多的功能:

GoSublime Menu

兩個我覺得還不錯用的功能:

  • ⌘+., ⌘+g 跳到變數或函數的定義處
  • ⌘+., ⌘+d 列出程式的結構

API 參考: Dash

Dash 是我最喜歡用的參考文件工具,安裝了 DashDoc 候就可以直接在 Sublime Text 裡按 ctrl-h 查閱 API 的用法了。

Happy Go Coding

這樣設定完基本上就是蠻不錯的 Go 開發環境了,接下來當然就是動手多寫程式了。