【发布时间】:2017-08-29 06:51:00
【问题描述】:
我正在尝试在 Go 中构建一个集合包,但我遇到了导入路径问题。
我正在为 Java 集合接口建模。这是我的文件结构
+/$GOPATH
/bin
/pkg
/src
/github.com
/user
/collections
collections.go
main.go
/collections
/bstAvl
bstAvl.go
我的 collections.go 文件如下所示:
package collections
type Collection interface {
Add(interface{}) (bool, error)
AddAll(Collection) (bool, error)
Clear()
Contains(interface{}) (bool, error)
Remove(interface{}) (bool, error)
Size() uint
}
在bstAvl.go 中,我尝试在Collections.go 中使用Collection 接口
如何导入需要的包来访问Collection接口?
我认为我在路径上做得太过火了,可能使它变得比应有的复杂。您推荐更简单的结构吗?
理想情况下,我希望我的所有收藏都在 collections 包下,以便可以将其导出为库并在需要时用于其他应用程序。
P.S 我读过Structuring applications in Go by Ben Johnson。但我仍然很困惑。非常感谢任何帮助。
编辑: 我想我过度使用了包结构。我决定坚持这个:
+/$GOPATH
/bin
/pkg
/src
/github.com
/user
/collections
collections.go
main.go
bstAvl.go
【问题讨论】: