GOPATH
GOPATH是Go语言中使用的一个环境变量,它使用绝对路径提供项目的工作目录。
工作目录是一个工程开发的相对参考目录,好比当你要在公司编写一套服务器代码,你的工位所包含的桌面、计算机及椅子就是你的工作区。工作区的概念与工作目录的概念也是类似的。如果不使用工作目录的概念,在多人开发时,每个人有一套自己的目录结构,读取配置文件的位置不统一,输出的二进制运行文件也不统一,这样会导致开发的标准不统一,影响开发效率。
GOPATH适合处理大量Go语言源码、多个包组合而成的复杂工程。
1. 使用命令行查看GOPATH信息
1 | go env |
运行结果(下面结果中,真实的用户名用{Username}代替):
1 | GO111MODULE="" |
- GOARCH:目标处理器架构
- GOBIN:编译器和链接器的安装位置
- GOOS:目标操作系统
- GOPATH:当前工作目录
- GOROOT:Go开发包的安装目录
在 Go 1.8 版本之前,GOPATH 环境变量默认是空的。从 Go 1.8 版本开始,Go 开发包在安装完成后,将 GOPATH 赋予了一个默认的目录,参见下表:
平台 | 默认值 | 举例 |
---|---|---|
Windows 平台 | %USERPROFILE%/go | C:\Users\用户名\go |
Unix 平台 | $HOME/go | /home/用户名/go |
2. 使用GOPATH的工程结构
在 GOPATH 指定的工作目录下,代码总是会保存在$GOPATH/src
目录下。在工程经过go build
、go install
或go get
等指令后,会将产生的二进制可执行文件放在$GOPATH/bin
目录下,生成的中间缓存文件会被保存在$GOPATH/pkg
下。
如果需要将整个源码添加到版本管理工具(Version Control System,VCS)中时,只需要添加 $GOPATH/src
目录的源码即可。bin和pkg目录的内容都可以由src目录生成。
3. Go环境变量的查看与设置
查看go的环境变量:
1 | go env |
设置go的环境变量:
1 | go env -w {Environment_variable}={Value} |
参考资料
[1] 参考链接:http://c.biancheng.net/view/88.html