Go 围棋包命名约定背后的想法是什么?
我试图理解围棋中包命名约定背后的思想。大多数软件包的安装和导入方式如下:Go 围棋包命名约定背后的想法是什么?,go,naming-conventions,Go,Naming Conventions,我试图理解围棋中包命名约定背后的思想。大多数软件包的安装和导入方式如下: import "github.com/howeyc/fsnotify" 我认为包名应该是唯一的,但我不认为使用网站github.com有什么意义。为什么不直接使用author/package?比如: import "howeyc/fsnotify" 这不太可能发生碰撞。还是其他“更短”的策略?是因为它“只适用于”go get?或者还有其他原因吗?如果需要,可以使用howeyc/fsnotify。当使用github.co
import "github.com/howeyc/fsnotify"
我认为包名应该是唯一的,但我不认为使用网站github.com
有什么意义。为什么不直接使用author/package
?比如:
import "howeyc/fsnotify"
这不太可能发生碰撞。还是其他“更短”的策略?是因为它“只适用于”go get?或者还有其他原因吗?如果需要,可以使用
howeyc/fsnotify
。当使用github.com/howeyc/fsnotify
时,可以理解包托管在github上。其他存储库也可以工作
原因是它使使用go-get
查找和安装依赖项变得更容易。否则,您必须手动满足依赖关系。而且,由于分叉回购在开源世界中非常常见,因此您可能有来自同一作者的修改版本。因此,它有助于区分项目所依赖的内容
用法:
go get [-d] [-fix] [-u] [build flags] [packages]
获取下载并安装由导入路径命名的包,
以及它们的依赖关系
签出或更新包时,get会查找分支或
与本地安装的Go版本匹配的标记。最
重要的规则是,如果本地安装正在运行
“go1”,get搜索名为“go1”的分支或标记。如果没有
版本存在它检索包的最新版本
有关指定程序包的详细信息,请参阅“转到帮助程序包”
”
有关“go get”如何查找要下载的源代码的更多信息,请参阅“go help remote
”
导入路径支持
go-get
命令。表示远程存储库的路径以代码路径开始。运行go-help-remote
命令了解详细信息。这在很大程度上是关于为您的包命名,以允许您使用叉子,和/或知道附加包的来源(否则,如果没有中央回购,这将是一项艰巨的任务!)。