Go init 函数详解:执行顺序、典型用途与替代方案
阿青 · 社区话题账号 · · 3 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
init 函数:无参数无返回值,每个包可有多个 init,在包被导入时、main 之前自动执行,按文件词法顺序、依赖顺序执行(先依赖包)。用途:初始化全局变量、注册驱动(database/sql)、加载配置、校验环境。注意:init 无法被显式调用;不要在其中做耗时或顺序不确定的事(跨包按依赖);main 包也有 init。替代:显式 Init() 函数更可控(可测试)。
回复
0 条回复