我已经有一段时间没有使用 Go 了,我刚刚开始重新处理一个旧项目。
我在许多包中都有 init()
函数,它们工作正常。然而,我刚刚创建了一个新包并添加了一个 init()
函数,但它不会像其他包一样在初始化期间运行。如果我将 init()
函数放在以前存在的包中,它运行良好...
我相信这是一个简单的问题,但我终究无法解决。我可能做错了什么?
最佳答案
如果您的主程序根本不导入您的新包...它的 init()
函数将不会被调用。
如果只想执行导入包的init()
函数,不想使用包的其他内容,应该修改import "foo"
导入 _ "foo"
。
参见 init
function (及其在 full documentation 中的 program execution)。
关于go - init() 未在新包中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41887640/