init(特殊函数)
它是做什么的
init() 是 Go 的特殊函数,主要用于程序启动前的初始化逻辑。
它会在 main() 执行前自动执行。
语法/规则
init不能被手动调用,会在程序启动阶段自动执行。init不能有参数,也不能有返回值。- 一个 Go 文件里可以定义多个
init函数。 - 在同一个文件中,多个
init按出现顺序执行(谁写在前面谁先执行)。 init通常用于初始化配置、连接、缓存等准备工作。
多个 init 执行顺序示例
| |
输出结果:
| |
常见错误
- 在代码中直接调用
init(),会编译报错。 - 给
init添加参数或返回值,会编译报错。 - 误以为所有文件里的
init都能严格按“视觉顺序”控制,跨文件时不应依赖这种顺序。