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