Golang,从子包中使用主包的结构或函数

sad*_*lil 3 go

我正在尝试编写一个包含多个子项目的 go 项目。举一个简单的例子,该项目如下所示

Main
 |- package one
    |- package one.one
    |- package one.two
 |- package two
Run Code Online (Sandbox Code Playgroud)

从我的主包中,我可以通过导入它们来使用任何子包的任何函数或结构。但我的问题是如何从任何子包访问 main 的结构或函数。

Vol*_*ker 5

通过导入 main 中的“子包”。但不要产生导入循环(在这种情况下重构您的代码)。

请注意,Go(几乎*)没有_sub_package的概念:这些都是普通包,目录布局对导出函数、类型、方法、字段、变量和常量的导入和可用性/可访问性没有影响。

*) 内部包和供应商包取决于目录布局。