init()没有在新包中运行

时间:2017-01-27 05:45:41

标签: go

我暂时没有使用Go,而我又开始重新开发一个旧项目了。

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

我相信这是一个简单的问题,但我不能为我的生活弄清楚。我能做错什么?

1 个答案:

答案 0 :(得分:6)

如果主程序根本没有导入新包...则不会调用其init()函数。

如果您只是想要执行导入包的init()功能,并且不想使用包的其他内容,则应将import "foo"修改为import _ "foo"

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