【发布时间】:2018-02-04 13:19:03
【问题描述】:
我正在开发一个go包,它有点复杂,因此我想将源代码组织到多个目录中。
但是,我不希望包的用户必须使用太长的导入。无论如何,包的内部结构不是他们关心的。
因此,我的包结构如下所示:
subDir1
subSubDir1
subSubDir2
subDir2
subSubDir3
...等等。他们都有自己的导出调用。
我想避免我的用户必须导入
import (
"mypackage/subDir1"
"mypackage/subDir1/subSubDir2"
)
...等等。
我只想,如果他们想使用我的包中的导出函数,他们应该可以通过简单地导入 mypackage 来访问所有这些函数。
我尝试在所有.go 文件中声明package mypackage。因此,我的源文件位于不同的目录中,但具有相同的包声明。
在这种情况下,我遇到的问题是我根本无法从同一个包中导入多个目录。它说:
./src1.go:6:15: error: redefinition of ‘mypackage’
"mypackage/mysubdir1"
^
./src1.go:4:10: note: previous definition of ‘mypackage’ was here
"mypackage"
^
./src1.go:5:15: error: redefinition of ‘mypackage’
"mypackage/mysubdir2"
^
./src1.go:4:10: note: previous definition of ‘mypackage’ was here
"mypackage"
^
有没有可能?
【问题讨论】:
标签: go