一、使用apt-get
命令來安裝Go環境python
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
二、設置GOPATH變量,指定工做空間git
在當前目錄下的.bashrc文件最後增長 export GOPATH=/opt/gogolang
echo "export GOPATH=/opt/go" >> ~/.bashrc
從新加載.bashrc文件bash
source ~/.bashrc
三、工做空間的目錄結構app
/opt/go -src 存放源代碼(.go .c .h .s等) -pkg 編譯後生成的文件(.a) -bin 編譯後生成的可執行文件
四、開發應用包(包名以mymath爲例)ui
在工做空間的src目錄下建立mymath目錄,其下建立源碼文件 sqrt.go,內容以下:spa
// $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的名稱和目錄名保持一致code
上面咱們已經創建了本身的應用包,如何進行編譯安裝呢?有兩種方式能夠進行安裝blog
a、只要進入對應的應用包目錄,而後執行go install
,就能夠安裝了開發
b、在任意的目錄執行以下代碼go install mymath
安裝完以後,在$GOPATH/pkg/mymath/平臺類型/目錄下,有應用包mymath.a
五、開發可執行程序包(包名以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
六、發佈和執行程序
在應用目錄中,執行go install
,那麼在$GOPATH/bin/下增長了一個可執行文件mathapp,運行後以下:
#mathapp Hello, world. Sqrt(2) = 1.414213562373095