当配置好go的基本环境之后,在命令行输入
go env
就可以看到go的一系列环境变量
接下来,挑几个最常用的解释一下。
这个环境变量表示Go安装在自己电脑上的位置,我的GOROOT是/usr/local/go
这个环境变量表示Go语言工作区(的集合)
工作区是用来放置Go源码的地方,之所以说“的集合”是因为我们可以设置多个工作区,每个工作区的路径用 :
隔开
工作区一般包括三个文件夹,bin 、 pkg 、 src
bin 文件夹是用来存放可执行文件,而这些可执行文件(mac 下是 executable文件,windows下是exe文件),都是通过go install
命令安装,由Go命令源码文件生成的。至于命令源码文件是什么,一会儿会说到。
go env
可以显示出来所有与go有管的环境变量,可以注意到有一个GOBIN
的环境变量,就是设置这个bin文件夹路径的,如果没有设置GOBIN
就是默认在GOPATH
下的bin文件夹,如果设置了,就可以随自己设置。
值得注意的是:如果有多个环境变量的时候,也就是刚才说的GOPATH
定义多个,那么就必须设置GOBIN
的值,否则就不知道往哪里安装可执行文件。
pkg文件是用來存放go install
命令安以后所生成的归档文件(.a后缀)
src文件是以代码包的形式组织和保存源码文件的,每个代码包都和src文件下的文件夹一一对应
值得注意的是:命令源码文件不一定都放在src文件夹下
这理解需要提一下go的源码文件中的源码文件并不是以一种形式存在,而是由三种文件共同组成的。
- 命令源码文件 就是自己属于main包,而且有一个main函数的源码.go文件
- 库源码文件 就是不具备命令源码文件的两个特性的源码.go文件
- 测试源码文件
用于测试,且文件名带有
_test.go
的文件
所以命令源码文件是可以直接通过go build
或者go install
生成可执行的文件