我正在開發一個go包,它有點複雜,因此我想將源代碼組織到多個目錄中。我可以在多個源目錄中開發一個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"
^
是不是有可能?