本节将为大家讲解在Linux平台安装Go语言开发包,大家可以从Go语言官网下载对应的安装包(https://golang.google.cn/dl/)。
接下来将带领大家一步步的完成安装过程。
设置Go环境变量
我们在Linux系统下一般通过文件$HOME/.bashrc配置自定义环境变量,根据不同的发行版也可能是文件$HOME/.profile,然后使用gedit或vi来编辑文件内容。exportGOROOT=$HOME/go
为了确保相关文件在文件系统的任何地方都能被调用,你还需要添加以下内容:exportPATH=$PATH:$GOROOT/bin
在开发Go项目时,你还需要一个环境变量来保存你的工作目录。exportGOPATH=$HOME/Applications/Go
$GOPATH可以包含多个工作目录,取决于你的个人情况。如果你设置了多个工作目录,那么当你在之后使用goget(远程包安装命令)时远程包将会被安装在第一个目录下。
在完成这些设置后,你需要在终端输入指令source.bashrc以使这些环境变量生效。然后重启终端,输入goenv和env来检查环境变量是否设置正确。
安装C工具
Go的工具链是用C语言编写的,因此在安装Go之前你需要先安装相关的C工具。如果你使用的是Ubuntu的话,你可以在终端输入以下指令。sudoapt-getinstallbisonedgawkgcclibc6-devmake
你可以在其它发行版上使用RPM之类的工具。
获取Go源代码
从官方页面下载Go的源码包到你的计算机上,然后将解压后的目录go通过命令移动到$GOROOT所指向的位置。wgethttps://storage.googleapis.com/golang/go.src.tar.gz
tar-zxvfgo.src.tar.gz
sudomvgo$GOROOT
构建Go
在终端使用以下指令来进行编译工作。cd$GOROOT/src
./all.bash
在完成编译之后(通常在1分钟以内,如果你在B型树莓派上编译,一般需要1个小时),你会在终端看到如下信息被打印:
注意事项
在测试net/http包时有一个测试会尝试连接google.com,你可能会看到如下所示的一个无厘头的错误报告:‘make[2]:Leavingdirectory`/localusr/go/src/pkg/net’
如果你正在使用一个带有防火墙的机器,我建议你可以在编译过程中暂时关闭防火墙,以避免不必要的错误。
解决这个问题的另一个办法是通过设置环境变量$DISABLE_NET_TESTS来告诉构建工具忽略net/http包的相关测试:exportDISABLE_NET_TESTS=1
如果你完全不想运行包的测试,你可以直接运行./make.bash来进行单纯的构建过程。
测试安装
使用你最喜爱的编辑器来输入以下内容,并保存为文件名test.go。
【示例1】hello_world1.go
packagemainfuncmain(){println("Hello","world")}
切换相关目录到下,然后执行指令gorunhello_world1.go,将会打印信息:Hello,world。
验证安装版本
你可以通过在终端输入指令goversion来打印Go的版本信息。
如果你想要通过Go代码在运行时检测版本,可以通过以下例子实现。
【示例2】version.go
packagemainimport("fmt""runtime")funcmain(){fmt.Printf("%s",runtime.Version())}
这段代码将会输出go1.4.2或类似字符串。
更新版本
你可以在发布历史页面查看到最新的稳定版。
Go的源代码有以下三个分支:
Gorelease:最新稳定版,实际开发最佳选择
Goweekly:包含最近更新的版本,一般每周更新一次
Gotip:永远保持最新的版本,相当于内测版
当你在使用不同的版本时,注意官方博客发布的信息,因为你所查阅的文档可能和你正在使用的版本不相符。