围绕这一点有很多问题,包括为什么不应该使用import "./my/path"以及为什么它仅在某些遗留 go 代码需要它时才有效。如果这是正确的,您如何处理项目的封装以及扩展 github 分支?在其他任何语言中,我都可以做一个项目的 github fork,或者 git clone,一切都封装在那里。如何从 go 项目中获得相同的行为?使用 go "hello world" 示例的简单示例。你好去package mainimport ("fmt" "github.com/golang/examples/stringutil")func main() { fmt.Printf(stringutil.Reverse("hello, world")+"\n")}以上效果很好。但是如果我想使用我自己的位于子目录中的 stringutil 并将编译为单个二进制文件,我仍然需要完整路径:package mainimport ("fmt" "github.com/myrepo/examples/util/stringutil")func main() { fmt.Printf(stringutil.Reverse("hello, world")+"\n")}现在,如果有人复制或分叉我的 repo,它会直接依赖“github.com/myrepo/”,即使这完全是在内部使用的!如果有 20 个不同的文件导入utils/怎么办?每次有人分叉时我都需要更改吗?这是许多无关紧要的更改和无意义的 git 提交。我在这里缺少什么?为什么相对路径如此糟糕?如何在不更改数十个文件的情况下分叉引用其自己的子目录(及其包)的项目?
1 回答
- 1 回答
- 0 关注
- 228 浏览
添加回答
举报
0/150
提交
取消