有一组程序来构建和处理 Go 源代码。该集合中的程序通常由 go 程序调用,而不是直接运行。 GOPATH和GOROOT是环境变量,为 Go 源代码定义了某种排列和组织。如果需要,可以显式修改 gopath 和 goroot 的路径。
路径
GOPATH,也叫工作区目录,是Go代码所在的目录。它由 go/build 包实现并记录在文件中,用于解析导入语句。 go get工具将包下载到 GOPATH 中的第一个目录。如果未设置环境变量,则 GOPATH 默认为用户主目录中名为“go”的子目录。要检查这一点,请输入以下命令:
On Windows:
C:\Users\%USERPROFILE%\go
On Linux:
$HOME/go
要检查当前的 GOPATH,请输入以下命令:
C:\Users\%USERPROFILE%\go env GOPATH
GOPATH下包含3个目录,每个目录下都有特定的功能:
- src:它包含源代码。此目录下的路径决定了导入路径或可执行文件名称。
- pkg:它保存已安装的包对象。每个目标操作系统和体系结构对都有自己的 pkg 子目录。
- bin:它保存已编译的命令。每个命令都以其源目录命名。
在 Go 中使用模块时,不再使用 GOPATH 来确定导入。但是,它仍然用于将下载的源代码存储在pkg和编译的命令bin 中。
GOROOT
GOROOT 用于来自 go 安装的编译器和工具,用于查找标准库。它应始终设置为安装目录。
要检查当前的 GOROOT,请输入以下命令:
C:\Users\%USERPROFILE%\go env GOPATH
可以将 Go 工具安装到不同的位置。这可以通过将 GOROOT 环境变量设置为指向它的安装目录来完成,尽管不建议这样做,因为它是随工具预设的。