這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。注意:
下面的安裝配置均遵從官網或是教材<Go語言程式設計>中的部分內容.
一.下載和安裝go
在Ubuntu12.04上如果使用go安裝包安裝,只需在命令列輸入
sudo apt-get install golang-go
下面我們關注更具普遍性的源碼安裝方式,它在linux發行版本中都是適用的.
進入go語言的官網http://golang.org/
根據作業系統和CPU架構選擇所要安裝的go版本,我所用的作業系統是Ubuntu 12.04 64bit,所以我將下載Linux下的amd64版本:
假如是舊版本升級,建議先刪除就版本再下載並安裝全新的版本
wget https://go.googlecode.com/files/go1.2.linux-amd64.tar.gz
安裝到系統目錄
下載該archive後,extract它到系統目錄/usr/local下面,在/usr/local/go下面產生一個go tree,比如
tar zxvf go1.2.linux-amd64.tar.gz -C /usr/local
建議使用root使用者佈建永久環境變數
vim /etc/profile
在最末行加入
export PATH=/usr/local/go/bin:$PATH
儲存退出並更新
. /etc/profile
你可以使用下面的命令驗證,剛才設定的環境變數是否生效?
echo $PATH
注意:這種方法,需要你全程都使用root使用者登入,包括go的workspace目錄也在root目錄下面.
安裝到自訂目錄(custom location)
假如你只是使用遠程Linux伺服器的一個普通使用者,沒有root許可權,那麼你只能將go安裝到你的home目錄下面,此時必須設定GOROOT環境變數
比如,你安裝go到你的home目錄下面,你需要設定永久環境變數
vim ~/.bashrc
在末行加入
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
儲存退出並更新
. ~/.bashrc
注意:這裡加入$GOROOT/bin的路徑到PATH環境變數下面,就是為了在所有路徑下直接執行go,godoc,gofmt等命令,參見下面的:
二.卸載go
如果你需要卸載go,你需要刪除安裝到系統中的go目錄,並且同時從/etc/profile或是~/.bashrc中刪除go相關的環境變數,並同步更新該設定檔.
三.驗證go安裝
方法一:直接在當前命令列下面運行
go version
如果能夠正確顯示版本資訊,說明go的安裝配置基本正確
方法二
(暫不推薦這個例子,因為它涉及workspace的設定,參見後面的分析)
寫一個簡單的hello world程式hello.go進行驗證:
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
使用go工具編譯和運行
$ go run hello.go
hello, world
如果結果顯示正確,說明go的環境設定是正確的
四.搭建工作環境 setup your work environment
下面假設go在我的工作機器上已經成功搭建.
構建go程式, 有兩步是必須的:編譯和連結,所有這兩步都由go構建構建工具來完成即可.但是go構建工具能夠構建本地程式和當地套件需要滿足3個條件:
(1)Go的bin目錄必須在環境變數中,這個在我們上面的go的按照配置中已經得到保證.
(2)必須有一個包含src的分類樹,其中包含了本地程式和當地套件的原始碼
(3)src的上一級目錄必須在環境變數GOPATH中
go工具要求你以一種特殊的方式組織代碼,也就是說,go code必須放在一個workspace中, workspace是一個多重嵌套目錄結構(hierarchy),它的root目錄下有3個目錄:
src --包含go的源檔案,被組織成一個package,每個包一個目錄
pkg --包含package object
bin --包含可執行檔
go工具構建src中的package,安裝產生的binaries進pkg和bin目錄下面
GOPATH環境變數指定了你的workspace的位置,可能是你開發go代碼時唯一需要設定的環境變數, 在開始源碼開發前,需要先建立一個workspace目錄並相應設定為GOPATH環境變數,workspace目錄可以放在系統的任何地方,只要不和go的安裝目錄相同就可以了.
為了在多個目錄下開發自己的go程式和包,我們需要如下設定該環境變數
mkdir -p ~/program_develop/go_demo
vim ~/.bashrc
export GOPATH=/home/taoyx/program_develop/goeg:/home/taoyx/program_develop/go_demo
export PATH=$PATH:$GOPATH/bin
儲存退出,並更新
. ~/.bashrc
做了上述設定後,我們所生產的go程式就可以在系統的任何路徑下執行
五.下載該書相關的原始碼
從該書官網http://www.qtrac.eu/gobook.html下載相應的源碼,使用chrome下載就可以了.
解壓到指定目錄:
cd 下載`
unzip gobook-1.0.zip -d ~/program_develop/
cd ~/program_develop/goeg
下面驗證一個樣本程式是否可以運行?
cd src/hello
go build
產生的可執行檔在目前的目錄下面,直接運行
./hello
另一種方法:產生的可執行檔到workspace的bin目錄下,而非當前的目錄下面
go install
cd ~/program_develop/goeg/bin
./hello
六.在本地查看某個包中的文檔
在終端中使用godoc命令來查看整個包或是包中某個特定功能的文檔,例如
在終端執行
godoc image NewRGBA
將會輸出關於函數image.NewRGBA()的文檔
godoc image/png
將輸出關於整個image/png包的文檔
七.在本地查看go語言官方文檔
現在終端運行godoc工具,提供一個參數以使godoc運行為Web伺服器
godoc -http=:8000
這裡連接埠號碼可以任意指定, 只要不跟已經啟動並執行伺服器連接埠號碼衝突就行,然後,在chrome瀏覽器中開啟
http://localhost:8000/
即可在本地查看go語言的官方文檔,跟官網 golang.org的首頁非常相似.參見下面的:
八.參考文獻:
Go語言程式設計,許式偉,呂桂華等翻譯
http://golang.org/#
https://code.google.com/p/go/downloads/list
http://golang.org/doc/install
http://golang.org/doc/code.html