一.安装

这里以安装golang1.9为例: 
1.首先通过命令行直接安装

sudo apt-get install golang-1.9

2.下载好之后,查看go的版本

catik@catik-Aspire-V3-471:~$ go version 
go version go1.9.2 linux/amd64

可以看得出,这里的版本是go1.9.2

二.环境配置

1.查看环境变量:

catik@catik-Aspire-V3-471:~$ go env 
GOARCH=”amd64” 
GOBIN=”” 
GOEXE=”” 
GOHOSTARCH=”amd64” 
GOHOSTOS=”linux” 
GOOS=”linux” 
GOPATH=”/home/catik/godownload/” 
GORACE=”” 
GOROOT=”/usr/lib/go” 
GOTOOLDIR=”/usr/lib/go/pkg/tool/linux_amd64” 
GCCGO=”gccgo” 
CC=”gcc” 
GOGCCFLAGS=”-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build504408127=/tmp/go-build -gno-record-gcc-switches” 
CXX=”g++” 
CGO_ENABLED=”1” 
CGO_CFLAGS=”-g -O2” 
CGO_CPPFLAGS=”” 
CGO_CXXFLAGS=”-g -O2” 
CGO_FFLAGS=”-g -O2” 
CGO_LDFLAGS=”-g -O2” 
PKG_CONFIG=”pkg-config

这里几个比较关键的变量 GOPATH 和GOROOT 
GOPATH是go get指令默认下载和安装包的位置,通过go get指令,获取go的包,默认下载到GOPATH所指示的目录中. 
GOROOT是go安装的位置,也是go可执行文件的位置,也就是说,当我们命令行中打出go的指令时,系统能不能准确调用go的可执行文件 
这里GOROOT=”/usr/lib/go” 
通过以下命令 
cd /usr/lib/go 
ls
 
就可以看到

catik@catik-Aspire-V3-471:/usr/lib/go$ ls 
bin doc favicon.ico.gz go pkg src test VERSION

bin中存的就是go的可执行文件了,我们可以试一下:

catik@catik-Aspire-V3-471:/usr/lib/go/bin$ ./go version 
go version go1.9.2 linux/amd64

这与我们在命令行中直接输入go是一样的 
2.配置环境变量 
默认的时候,GOPATH是没有配置好的,那么我们怎么修改这些环境变量呢 
首先,我们可以按照自己的意愿,在一个位置建一个文件夹,比如

mkdir /home/catik/GoDownload

然后,配置环境变量有三个方法:

一:最根本的方法就是修改/etc/profile文件

sudo gedit /etc/profile 
*注意这里必须要sudo,因为系统目录下的文档不允许任意修改的 
在最后添加export GOPATH=/home/catik/GoDownload 
这个办法修改是对所有的用户都生效的,修改之后要重启就会另修改生效

二:这个办法也可以,修改用户目录下的.profile文件

比如这里是/home/catik/.profile 
通过gedit /home/catik/.profile打开之后就能修改了 
修改的方法跟第一种是一样的,就是再最后添加 
export GOPATH=/home/catik/GoDownload

三:临时性的起作用,只有本次生效,当你关闭terminal之后,不再生效

直接在命令行中 
catik@catik-Aspire-V3-471:~$ export GOPATH=/home/catik/GoDownload

升级系统的golang

如果你的电脑中已经安装了golang,但是,并不是最新版的,那么把你的电脑中的golang升级到最新的版本呢 
比如原来安装的是go1.6,最新的版本为go1.9, 
首先卸载电脑中的老版本

sudo apt-get remove golang-1.6

然后安装最新版的

sudo apt-get install golang-1.9

等待安装好之后,发现

go version

version 还是1.6,竟然不管用?重启电脑,还是这样,那么问题出在哪里了呢 
我们循着GOROOT的地方去看看

catik@catik-Aspire-V3-471: cd /usr/lib/go 
catik@catik-Aspire-V3-471: ls 
bin doc favicon.ico.gz go pkg src test VERSION 
catik@catik-Aspire-V3-471: cat VERSION 
go1.6

这样我们就看出来了原来这里的go还是原来的可执行文件,原来卸载之后并没有把这里的文件卸载干净,这里的可执行文件也没有变。 
所以我们把1.9版本的go的文件复制到这里来,顺便说一句,原来的这个go文件夹是一个硬链接,连接的目标是原来的go-1.6文件夹,当我们安装好go-1.9之后,这两个文件夹同时存在,这里我们需要把go-1.6删除

sudo rm go-1.6 -r

把原来的链接文件也删除

sudo rm go -r

建一个新的go文件夹

sudo mkdir go

把go-1.9中的全部文件复制过去

sudo cp ./go-1.9/* ./go

再次查看go的版本

go version 
go-1.9.2

问题顺利解决