我想了解如何在后面的示例中正确导入包。
我已经阅读了这个主题(如何在 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的代码,repository/sublib反之亦然。我认为问题更针对内部导入(在一个存储库下)。
第一个解决方案显然是 - 通过完整路径导入包:
github.com/username/repository在sublib1.go和
github.com/username/repository/sublib 在 lib1.go
嗯,但是如果我将来改变路径怎么办?可能有导入内部包更好的办法。我也正在面临着一个问题,当我输入github.com/username/repository的sublib1.go(我得到错误信息import cycle not allowed)。
我希望我已经解释得很好来回答这个问题。
吃鸡游戏
相关分类