【问题标题】:init() not running in new packageinit() 没有在新包中运行
【发布时间】:2017-06-12 18:16:12
【问题描述】:

我已经有一段时间没有使用 Go 了,我刚刚开始重新处理一个旧项目。

我在许多包中都有init() 函数,它们工作正常。但是我刚刚创建了一个新包并添加了一个 init() 函数,但它不会像其他程序一样在初始化期间运行。如果我将init() 函数放在以前存在的包中,它运行良好...

我相信这是一个简单的问题,但我终其一生都无法弄清楚。我可能做错了什么?

【问题讨论】:

  • 需要更多细节才能形成明确的答案。

标签: go


【解决方案1】:

如果您的主程序根本没有导入您的新包...它的init() 函数将不会被调用。

如果只想执行导入包的init()函数,不想使用包的其他内容,则应将import "foo"修改为import _ "foo"

init function(以及program execution中的full documentation)。

【讨论】:

  • 就是这样。谢谢!
猜你喜欢
  • 2023-03-20
  • 2019-02-06
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-14
  • 2020-01-02
相关资源
最近更新 更多