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
命令查看环境变量配置
在日常开发中,我们需要重点关注GOPROXY
、GOROOT
、GOPATH
和GOBIN
,其他配置项可以在需要的时候再查询文档进行配置。
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
环境变量中(因此在使用版本控制时,尽量忽略bin
、pkg
,建议直接在src
,或者具体的子包下创建代码仓库)。于此相反的做法,就是在Linux
或者Unix
系统中,可以在PATH
中添加export PATH=$PATH:${GOPATH//://bin:}/bin
下把每个GOPATH
下的bin
都加入到PATH
中。
重点来了:Module
的出现,就是为了弱化GOPATH
的概念,使用Module
去管理项目的依赖,那么可以基本忽略GOPATH
的原有的功能。
Golang提供的命令
可以通过命令行go help
查看Go
提供的命令行工具