为了账号安全,请及时绑定邮箱和手机立即绑定

不为我自己的包使用 repo 路径的影响

不为我自己的包使用 repo 路径的影响

Go
qq_笑_17 2021-11-22 15:42:19
假设我决定按如下方式组织所有个人开发的包:$GOPATH/    bin/    pkg/    src/        somepkg1        somepkg2        ...        somepkgN此外,假设它们之间有大量代码重用,因此我决定将整个 $GOPATH 工作区保留在同一个 Git 存储库下(每个包可以是一个子模块),而不是更传统的场景,其中子包不那么连贯(仅因为go get从同一工作区使用而共存):$GOPATH/    bin/    pkg/    src/github.com/<me>/        somepkg1        somepkg2        ...        somepkgN我可以看到,使用前一种方法(不在github.com/<me>/ 包路径中使用),go get将无法获取包,因为它们没有“声明”自己可以在线使用。但是,可以通过使用 git 子模块轻松解决这个问题,因此首先会获取所有包(请注意,这是一个严格控制的生态系统,因此不会有名称冲突)。go get不使用包的完整路径是否还有其他限制(除此之外)?(我最关心的是某些代码重构/分析工具所产生的限制,这些工具利用允许在线查找包的repository path as base path 约定go get。)
查看完整描述

1 回答

?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

对于 Go 编译器和 go 工具的所有元素,除了go get包导入路径是包含导入路径的几乎不透明的字符串。您可以随意布置代码(编译器本身很乐意将不同文件夹中的文件编译到一个包中)。如果您不需要或希望您的代码go get能够使用,则无需使用 repo 路径。golang.org/x/tools 中的分析和重构工具在不透明的导入路径上工作(据我所知)并且不访问网络。


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 120 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信