开始使用Go并浏览文档:https://golang.org/doc/code.html
标题为程序包路径的部分建议使用我的Github帐户作为基本路径。但是,使用GH网址中的正斜杠,当我运行mkdir -p $GOPATH/src/github.com/user
时,它会创建一个子文件夹。因此github.com/user
的示例创建:
src/
github.com/
user/
但我认为这不是预期的。
我可以在这做什么?
答案 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
,它将创建相同的目录结构