1
我的$ GOPATH是Golang相關包裝進口
"/Users/peter/goworkspace"
我現在golang版本:
go version go1.6 darwin/amd64
我有這個工作區在多個golang項目,所以這裏是目錄
的結構+/goworkspace
+---/bin
+---/pkg
+---/src
+---/project1
+---package1
+---file1.go
+---file2.go
+---file3.go
+---package2
+---package3
+---main.go
+---/project2
+---/project3
在我的proj1的main.go中,我將使用這個p下的其他包的導入roject,它看起來像:
import(
"./package1"
"./package2"
"./package3"
)
但是當我跑「去建造」,我讓越來越錯誤說:
「 無法加載包:本地進口」 ../package」在非本地包
如果我不喜歡使用相對包路徑,例如用它喜歡:
import(
"project1/package1"
"project1/package2"
"project1/package3"
)
那麼一切都將正常工作。
如果我使用相對包路徑,我的代碼有什麼問題?
如果項目1的名稱將在未來發生變化,那麼包導入的最佳做法是什麼?例如將其更改爲projecet1v2?
我需要手動更新導入的軟件包名稱嗎?
如果需要我必須將project1重命名爲project1v2,那麼該怎麼辦?在進口我必須更新它,對吧?有沒有什麼好的解決方案,所以我不需要手動更新它們?這也是我在這裏使用相對導入的原因。 – mikero
您不應該將其重命名爲v2。分叉它/複製它,然後創建第二個新的包作爲v2(這樣v1用戶仍然可以使用v1,直到他們可以升級而不會破壞他們的程序)。 – elithrar
哦,這是我一生中golang最糟糕的部分:( – rox