一、使用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