import "./my/path"
如果这是正确的,你如何处理项目的封装和扩展 github 分支?在每一个其他语言中,我可以做一个项目的 github 分支,或者 git clone,所有的东西都封装在那里。如何从 go 项目中获得相同的行为?
使用 go "hello world"示例的简单示例。
你好.go
package main
import ("fmt"
"github.com/golang/examples/stringutil")
func main() {
fmt.Printf(stringutil.Reverse("hello, world")+"\n")
}
上面的效果很好。但是,如果我想使用我自己的 stringutil,它位于一个子目录中并将编译为单个二进制文件,我仍然需要完整路径:
package main
import ("fmt"
"github.com/myrepo/examples/util/stringutil")
func main() {
fmt.Printf(stringutil.Reverse("hello, world")+"\n")
}
现在,如果有人复制或 fork 我的 repo,它会直接依赖于“github.com/myrepo/”,即使它完全在内部使用!
utils/
我在这里错过了什么?为什么相对路径这么糟糕?如何在不更改数十个文件的情况下 fork 引用其自己的子目录(及其包)的项目?