【发布时间】:2015-01-09 07:31:45
【问题描述】:
我想了解如何在后面的示例中正确导入包。
我已阅读此主题 (How to use custom packages in golang?),但它并没有解释我想要理解的内容。
例如,我想创建包以便在我的程序中进一步使用它并在 github.com 上发布。在我看来,这就是代码的组织方式:
src/
github.com/
username/
repository/
lib1.go #package repository
lib2.go #package repository
sublib/
sublib1.go #package sublib
sublib2.go #package sublib
...
myproject/
programname.go #package main
#there is no problem how to import my repository here:
#import "github.com/username/repository"
#or import "github.com/username/repository/sublib"
好的,此时我想了解如何在repository/sublib 中导入repository 的代码,反之亦然。我认为问题更针对内部导入(在一个存储库下)。
第一个解决方案显然是 - 通过全路径导入包:
-
github.com/username/repository在sublib1.go和 -
github.com/username/repository/sublib在lib1.go
嗯,但是如果我将来改变路径怎么办?可能有更好的方法来导入内部包。我在sublib1.go 中导入github.com/username/repository 时遇到问题(我收到错误消息import cycle not allowed)。
我希望我已经解释得很好来回答这个问题。
【问题讨论】:
标签: git go repository