Go:init()

Go:init()

init()

init()函数特性

  • init()在 main 包执行之前
  • init()自动执行,不能显示调用
  • 同一个 Go 文件中可定义多个 init()函数,顺序执行
  • 同一个 package 中不同文件,将文件名按字符串进行字母和数字自然排序,之后顺序调用各文件中的 init()
  • import 导入:
    • 字符 _ (下划线)操作,本质是引入 package 且不直接使用内部函数,仅仅调用 init()初始化
    • 按照 import 导入顺序调用包中 init()
    • package 的 init()在被引用时自动被调用
    • package 存在依赖,调用顺序为最后被依赖的最先被执行初始化
    • package 被其他多个包 import,只能被初始化一次
Author

Jaco Liu

Posted on

2020-02-27

Updated on

2025-12-24

Licensed under