一张图了解 Go 语言中的 init () 执行顺序

import --> const --> var --> init()

  1. 如果一个包导入了其他包,则首先初始化导入的包。

  2. 然后初始化当前包的常量。

  3. 接下来初始化当前包的变量。

  4. 最后,调用当前包的 init() 函数。

一个包可以有多个 init 函数(在单个文件中或分布在多个文件中),并且按照它们呈现给编译器的顺序被调用。

一个包将只初始化一次,即使它是从多个包导入的。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://stackoverflow.com/a/49831018

译文地址:https://learnku.com/go/t/47135

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!