1、使用apt-get命令來安裝Go環境
apt-get install software-properties-common apt-get install python-software-properties add-apt-repository ppa:gophers/go apt-get update apt-get install golang-go git-core mercurial
2、設置GOPATH變量,指定工作空間
在當前目錄下的.bashrc文件最后增加 export GOPATH=/opt/go
echo "export GOPATH=/opt/go" >> ~/.bashrc
重新加載.bashrc文件
source ~/.bashrc
3、工作空間的目錄結構
/opt/go -src 存放源代碼(.go .c .h .s等) -pkg 編譯后生成的文件(.a) -bin 編譯后生成的可執行文件
4、開發應用包(包名以mymath為例)
在工作空間的src目錄下創建mymath目錄,其下創建源碼文件 sqrt.go,內容如下:
// $GOPATH/src/mymath/sqrt.go源碼如下: package mymath func Sqrt(x float64) float64 { z := 0.0 for i := 0; i < 1000; i++ { z -= (z*z - x) / (2 * x) } return z }
注意:一般建議package的名稱和目錄名保持一致
上面我們已經建立了自己的應用包,如何進行編譯安裝呢?有兩種方式可以進行安裝
a、只要進入對應的應用包目錄,然后執行go install,就可以安裝了
b、在任意的目錄執行如下代碼go install mymath
安裝完之后,在$GOPATH/pkg/mymath/平台類型/目錄下,有應用包mymath.a
5、開發可執行程序包(包名以mathapp為例)
在工作空間的src目錄下創建mathapp目錄,其下創建源碼文件 main.go,內容如下:
// $GOPATH/src/mathapp/main.go源碼如下:
package main
import ( "mymath" "fmt" ) func main() { fmt.Printf("Hello, world. Sqrt(2) = %v\n", mymath.Sqrt(2)) }
可以看到這個的package是main,import里面調用的包是mymath,這個就是相對於$GOPATH/src的路徑,如果是多級目錄,就在import里面引入多級目錄。
進入該應用目錄,然后執行go build,那么在該目錄下面會生成一個mathapp的可執行文件。運行執行程序如下:
#./mathapp Hello, world. Sqrt(2) = 1.414213562373095
6、發布和執行程序
在應用目錄中,執行go install,那么在$GOPATH/bin/下增加了一個可執行文件mathapp,運行后如下:
#mathapp Hello, world. Sqrt(2) = 1.414213562373095
