圍繞這一點有很多問題,包括為什么不應該使用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")}現(xiàn)在,如果有人復制或分叉我的 repo,它會直接依賴“github.com/myrepo/”,即使這完全是在內(nèi)部使用的!如果有 20 個不同的文件導入utils/怎么辦?每次有人分叉時我都需要更改嗎?這是許多無關緊要的更改和無意義的 git 提交。我在這里缺少什么?為什么相對路徑如此糟糕?如何在不更改數(shù)十個文件的情況下分叉引用其自己的子目錄(及其包)的項目?
- 1 回答
- 0 關注
- 247 瀏覽
添加回答
舉報
0/150
提交
取消