這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
參考 http://golang.org/doc/install.html
參考google官方文檔,並結合自己的經曆,算是一半翻譯,一般原創把,其中有許多不懂的地方,請高手指點
1, 設定環境變數
$GOROOT :go的根目錄,一般設為$HOME/go,也可設為其他目錄
$GOOS :目標作業系統目前他的選項有linux, darwin (註:Mac OS X 10.5 or 10.6)和nacl (註:Native Client, an incomplete port)
$GOARCH :目標編譯架構,他的選項有amd64 (64位 x86或amd64),386 (32位 x86或amd32), 和 arm (32位 ARM平台)
$GOBIN(可選的):二進位代碼存放的地方,如果你指定了了$GOBIN,那就必須保證他在$PATH下,預設的,$GOBIN的值是$HOME/bin
註:$GOOS和$GOARCH是代碼啟動並執行目標環境,而不是你現在啟動並執行環境。
可以在.bashrc這個檔案中設定這些變數,
例如:
export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
個人經曆:可以通過echo $GOROOT等來查看環境變數,我在.bashrc中添加上面的內容以後,echo出來的結果仍然是空的,不知道是怎麼回事,請高手指點,自己手動命令列將這三個環境變數添加上,並加上
export $GOBIN=$GOROOT/bin
export $PATH=$PATH:$GOBIN
來把$GOBIN設定好
2, 下載
如果沒有 hg 命令
$ sudo easy_install mercurial
個人經曆:我用的是fedora 11,所以用 yum install mercurial
hg 命令似乎是用於遠程登入下載用的
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
下載檔案到$GOROOT目錄下
然後,
sudo apt-get install bison gcc libc6-dev ed make
這是ubuntu的命令,因為go 是給予gcc的,所以要裝c的庫
個人經曆:
fedora下,yum install bison gcc libc6-dev ed make
但沒有找到有關libc6-dev的包;
3, 安裝
cd $GOROOT/src
./all.bash
如果all.bash運行成功,就會輸出
--- cd ../test
N known bugs; 0 unexpected bugs(N是一個數)
個人經曆:安裝到最後兩項需要連網驗證,卻總是失敗,不過沒有影響功能
4, 測試
寫一個程式hello.go
package main
import "fmt"
func main() {
fmt.Printf("hello, world/n")
}
如果你的$GOARCH變數是amd64,你使用的命令有 6g,6l,6c,6a
如果是386,那麼有8g,8l,8c,8a
如果是arm,那麼有5g,5l,5c,5a
個人經曆:我使用的386
編譯:
8g hello.go
串連:
8l hello.8
運行:
./8.out
helloworld