我正在嘗試編寫包含多個子項目的go項目。對於一個簡單的例子項目看起來像這樣Golang,使用子包中的主包的結構或功能
Main
|- package one
|- package one.one
|- package one.two
|- package two
從我的主包,我可以使用任何子包的任何功能或結構通過導入。但我的問題是我如何從任何子包訪問main的結構或函數。
我正在嘗試編寫包含多個子項目的go項目。對於一個簡單的例子項目看起來像這樣Golang,使用子包中的主包的結構或功能
Main
|- package one
|- package one.one
|- package one.two
|- package two
從我的主包,我可以使用任何子包的任何功能或結構通過導入。但我的問題是我如何從任何子包訪問main的結構或函數。
謝謝。我通過使用第三個包來解決這個問題。這很容易。
這不是問題的充分答案,如果有的話@Volker的答案是答案,如果是的話,它應該被標記爲這樣。 –
通過導入主包中的「子包」。但是不要產生一個導入週期(在這種情況下重構你的代碼)。
注意,Go有(幾乎*)沒有概念_sub_package的:這些都是普通的包和目錄結構有進口和出口的功能,類型,方法,字段,變量的可用性/訪問性沒有影響和常量。
*)內部軟件包和出售軟件包取決於目錄佈局。
請閱讀[this](http://stackoverflow.com/a/15051192/720999)。 – kostix