剛好看到最近 google 發布了自己開發的程式語言 go,擁有 c/c++/python 的特性,因此我就特地灌來玩玩。
官方網站在這 The Go Programming Language,基本上裡面也有安裝和教學,不過我自己實做的時候發現少了一兩步,google 之後才發現有另外的解法。
以下的實做系統是 Ubuntu 9.04 2.6.28 32bit
根據官方網站 How To 中的 Install Go
1. 必須先在環境變數中加入底下四個變數
$GOROOT:下載 go source code 與 complie 的路徑
$GOOS:目標的作業系統:linux、darwin(Mac OS X 10.5 or 10.6)、nacl(Native Client, an incomplete port)
$GOARCH:目標的版本:amd64 (64-bit x86, the most mature port), 386 (32-bit x86), and arm (32-bit ARM, an incomplete port). The valid combinations are linux/amd64, linux/arm, linux/386, darwin/amd64, darwin/386, and nacl/386.
$GOBIN(選用):編譯後 complier 的路徑,預設為 $HOME/bin 請記得要加入到你的 $PATH 設定中
這邊是我的設定檔,請修改並加在你的 ~/.bashrc 檔案中
export GOROOT=$HOME/go
export GOOS=linux
export GOARCH=386
export GOBIN=$HOME/bin
export PATH=$GOBIN:$PATH
2. 請透過 easy_install(python)或 aptitude(debian/ubuntu)來安裝 mercurial(如果你沒有 hg 這個指令的話)
$ sudo easy_install mercurial # easy_install
$ sudo aptitude install mercurial # aptitude
# 兩個請擇一(我用 easy_install 裝不起來)
3. 接著請到 googlecode 取得 go 的 source code 來編譯
$ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
4. 建立 GOBIN 的資料夾(預設應該是不存在)
$ mkdir $GOBIN
5. 進入到 src 資料夾,複製 quietgcc 並開始編譯
$ cd $GOROOT/src
$ cp quietgcc.bash $GOBIN/quietgcc
$ ./all.bash
6. 一小段時間後,如果編譯沒意外的話,應該會看到下列的訊息
0 known bugs; 0 unexpected bugs
7. 這時候就可以來寫個檔案測試囉~ 請用你喜歡的編輯器輸入下列程式
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
8. 存檔後,請編譯、link、就可以執行了
$ 8g hello.go # complie
$ 8l hello.8 # link
$ ./8.out # run
hello, world # output
# 官網上是使用 6g 不過 6g 是給 amd64 用的,一般 386 是用 8g
9. 請享用你的 GO 吧~ 更多的文件請查閱官方網站~~