Go路径是包含Go源代码的目录树的列表。咨询以解决在标准Go树中找不到的导入。缺省路径是GOPATH环境变量的值,它被解释为适合于操作系统的路径列表(在Unix上,该变量是用冒号分隔的字符串;在Windows上,是用分号分隔的字符串;在Plan 9中,是列表)。

Go路径中列出的每个目录必须具有规定的结构:

src /目录包含源代码。 “ src”下面的路径确定导入路径或可执行文件名称。

pkg /目录包含已安装的软件包对象。就像在Go树中一样,每个目标操作系统和体系结构对都有其自己的pkg子目录(pkg / GOOS_GOARCH)。

如果DIR是Go路径中列出的目录,则可以将源为DIR / src / foo / bar的软件包导入为“ foo / bar”,并将其编译形式安装到“ DIR / pkg / GOOS_GOARCH / foo / bar”。 a”(对于gccgo,则为“ DIR / pkg / gccgo / foo / libbar.a”)。

bin /目录包含已编译的命令。每个命令均以其源目录命名,但仅使用最后一个元素,而不使用整个路径。也就是说,将源代码在DIR / src / foo / quux中的命令安装到DIR / bin / quux中,而不是DIR / bin / foo / quux中。去除了foo /,以便您可以将DIR / bin添加到PATH中以获取安装的命令。

这是示例目录布局: