在Go中设置包路径

时间:2015-04-15 19:54:14

标签: go

开始使用Go并浏览文档:https://golang.org/doc/code.html

标题为程序包路径的部分建议使用我的Github帐户作为基本路径。但是,使用GH网址中的正斜杠,当我运行mkdir -p $GOPATH/src/github.com/user时,它会创建一个子文件夹。因此github.com/user的示例创建:

src/
    github.com/
        user/

但我认为这不是预期的。

我可以在这做什么?

2 个答案:

答案 0 :(得分:5)

行为是正确的。 Go中的包名称提供唯一的全局名称空间。

因此,

github.com/user/repo标识了一个包,它很容易go get - (下载并安装包),并提供了非常需要的分离。您还可以创建没有主机名的软件包(在本例中为github.com),但有效地阻止用户使用go get并诉诸手动​​管理。

在GitHub案例中拥有用户名允许您使用其他库的分叉并保持分离。然后使用完整的包名称进行导入

import "github.com/user/repo"

答案 1 :(得分:3)

这实际上是预期的行为,

您甚至可以在github repo上调用go get,它将创建相同的目录结构