(相关资料图)
init
函数的执行规则:
对于同一个 go 文件,init
函数的执行顺序从上到下,即在代码中先出现的 init
函数会先执行。
对于同一个 package,不同文件是按照文件名字符串比较的结果决定执行顺序的,字符串越小的文件越早被初始化。
对于不同的 package,如果不相互依赖,则按照 import
的顺序决定初始化顺序。
如果 package 存在依赖,则先初始化被依赖的 package。
每个 package 只会被初始化一次。
main
函数总在所有 init
函数执行完后,才会执行。
这些规则确保了在 Go 程序开始执行 main
函数之前,所有的变量初始化和 init
函数都已经完成。这样可以保证在 main
函数运行时,所有的其他包都已经准备就绪。
关键词: