包的初始化次序

包的初始化次序

包的初始化次序 #

我们就通过一张流程图,来了解学习下 Go 包的初始化次序:

只需要记住这三点就可以了:

  1. 依赖包按“深度优先”的次序进行初始化;
  2. 每个包内按以“常量 -> 变量 -> init 函数”的顺序进行初始化;
  3. 包内的多个 init 函数按出现次序进行自动调用。

Viewpoint #

From #