init()没有在新包中运行

mar*_*ark 2 go

我有一段时间没有使用Go,我刚刚开始重新开发一个旧项目.

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

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

Von*_*onC 6

如果你的主程序根本没有导入你的新包...它的init()功能将不会被调用.

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

请参阅init函数(及其在程序执行中的完整文档).