go语言是一种开源的、语法精简的静态编程语言,它的开源社区比较庞大,应用场景非常广范。可以用于系统监控、容器技术(Docker)、大数据、存储技术、分布式系统(Hyperledger Fabric)、消息系统(Kafka客户端)、服务器管理、安全工具、Web工具等。
这里介绍在Linux上安装并配置go。
1、下载go安装包

到GoLang中国,https://golang.google.cn/dl/ 下载Go语言安装包对饮版本。

解压该安装包
tar -C /usr/local -xzf go1.16.6.linux-amd64.tar.gz
2、在/usr/local新建一个文件夹gocode
cd /usr/local
 mkdir gocode3、修改/etc/profile配置文件
su root
 vim /etc/profile   
 ## 添加如下路径:
 export GOROOT=/usr/local/go
 export GOPATH=/usr/local/gocode
 export PATH=$GOPATH/bin:$GOROOT/bin:$PATH4、使配置文件生效
source /etc/profile

理解一下Golang的环境变量

安装完Golang之后,可以通过go env命令查看环境变量配置

在日常开发中,我们需要重点关注GOPROXYGOROOTGOPATHGOBIN,其他配置项可以在需要的时候再查询文档进行配置。

OPROXY

GOPROXY就是设置Golang的全局代理。在下载依赖包的时候,一般是访问github的仓库,国内的环境很容易被墙,所以最好设置一个速度快的代理。Go在此版本中GOPROXY的默认值为https://proxy.golang.org,国内是无法访问的。因此,这里推荐使用七牛云的代理https://goproxy.cn

go env -w GOPROXY=https://goproxy.cn,direct 或 export GOPROXY=https://goproxy.cn,direct

GOROOT

GOROOT其实就是Golang安装的绝对路径,例如笔者把他安装在I:\Environment\Go目录下,所以:


λ go env
...
set GOROOT=I:\Environment\Go
...


GOROOT需要加入到系统变量Path里面,添加成功后才能在命令行使用go [Command]

GOPATH和GOBIN

GOPATH可以简单理解为工作目录,如果用过Eclipse,那么GOPATH可以类比为Eclipse中的WorkSpace的概念。GOPATH目录约定由三个子目录:


$GOPATH - src --- 存放源代码,go run、go install等命令就是在当前的工作路径中执行(也就是这些命令执行的目标文件夹就是这个src文件夹) - pkg --- 存放编译时生成的中间文件 - bin --- 存放编译后生成的可执行文件


GOPATH变量可以设置多个值,多个值之间使用特定的分隔符隔开,例如在Windows系统,分隔符是英文的分号;


λ go env
...
set GOPATH=C:\Users\doge\go;I:G-Projects
...


值得注意的是:go get命令下载的依赖包会下载在GOPATH指定的第一个值对应的目录中,也就是$Users/$User/go目录下。

GOBIN用于指定go install目标保存路径,目的是避免将所有工作空间的bin路径添加到PATH环境变量中(因此在使用版本控制时,尽量忽略binpkg,建议直接在src,或者具体的子包下创建代码仓库)。于此相反的做法,就是在Linux或者Unix系统中,可以在PATH中添加export PATH=$PATH:${GOPATH//://bin:}/bin下把每个GOPATH下的bin都加入到PATH中。

重点来了:Module的出现,就是为了弱化GOPATH的概念,使用Module去管理项目的依赖,那么可以基本忽略GOPATH的原有的功能。

Golang提供的命令

可以通过命令行go help查看Go提供的命令行工具

更多参考:https://cloud.tencent.com/developer/article/1650021