這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
Go程式設計語言是Google中一些大牛(尤其是有著plan9前科的大牛們)如Rob Pike,Ken Thomason這兩位赫赫有名的程式高手、技術作家。
很多人認為Go程式設計語言有點像是C語言與Python的混血,在Golang首頁上也清楚寫著Go的祖先有C,有Pascal/Modula(也是C++的祖先)/Oberon,還有CSP這個語言,另外很多基礎代碼也來自Plan 9作業系統。
我是在一個Ubuntu9.10的虛擬機器上試用的Go,大家可以跟著我的腳步一探Go的究竟。
1,準備
安裝Go之前需要安裝mercurial,這是Go的版本控制工具,可以直接通過ubuntu的安裝程式搜尋添加。
然後為目前使用者定義下面幾個bash變數。在ubuntu下敲入cd $HOME,一般是/home/username,然後敲vim .bashrc,修改.bashrc
在這個檔案中添加如下(我的cpu是intel,所以是GOARCH是386,具體可參考golang.org說明):
GOROOT="$HOME/Go"
export GOROOT
GOOS=linux
export GOOS
GOARCH=386
export GOARCH
GOBIN="$HOME/bin"
export GOBIN
在協助裡寫GOBIN是可選的,但我試了,必須有。
在.bashrc最後還要加上這一行,保證能正確編譯安裝。
PATH=$PATH:$GOBIN
2,下載原始碼編譯
在你的使用者目錄下運行這個命令
hg clone -r release https://go.googlecode.com/hg/ $GOROOT
這樣在你的使用者目錄下應該有個Go目錄了。
確保你的ubuntu安裝了gcc(可以在軟體包管理中添加build-essential)
進入Go/src
然後敲./all.bash
如果前面沒有問題,編譯應該可以正確完成。編譯後可以進入$HOME/bin查看是不是有6g 6l 8g 8l這樣的可執行檔。
3,試用Go
一般x86機器是使用8開頭的命令,如8g進行編譯,8l進行連結,6開頭的是給AMD cpu使用,如果編譯安裝沒錯,那麼$HOME/username/bin這個目錄應該已經在PATH中(可以通過echo $PATH確認)。
這時候應該hello world了,編輯一個hello.go如下:
package main
import "fmt"
func main() {
fmt.Printf("Hello, world; or Καλημέρα κόσμε; or こんにちは 世界/n");
}
運行8g hello.go編譯,正常情況下什麼都不提示就執行完了,但是ls可以發現多了個hello.8檔案
運行8l hello.8連結,會產生一個8.out.
運行./8.out應該打出如下訊息:
然後可以進入Go的目錄中(因為我設定的有問題,下載Go的目錄名是hg,但是不影響什麼),有個test目錄,進去test目錄,運行./run命令。
也可以單獨編譯某個代碼運行,如果正確的話,不會有任何提示資訊輸出。