【Go】Go程序的执行顺序
大家好 我是寸铁👊
总结了一篇Go程序的执行顺序的文章✨
喜欢的小伙伴可以点点关注 💝
Go程序内容
go程序通常包含: 包、常量、变量、init()、main()等元素
下面从这几个方面分别去梳理!
包的执行顺序
程序中的包
- 一个.go文件中,其他的包只有被
main包import才会执行,按照import的先后顺序执行。 - 被
依赖的包的初始化顺序与其import顺序相反,或者说按照**“深度优先”**的顺序执行例如:导入顺序为main->A->B->C,则初始化顺序为C->B->A->main, 如下图所示: - 避免出现
循环import,例如: A --> B --> C -->A

- main包总是被最后一个初始化,因为它总是依赖别的包。
- 一个包被其他多个包依赖的包,只会初始化一次。
包的内部
- 每个包内部按照
常量=>变量=>init()函数的顺序进行
Go程序执行顺序详解:包、常量至main()的初始化规则,

本文详细解释了Go程序的执行顺序,包括包的导入顺序、包内元素初始化顺序(常量、变量、init()函数),以及init()和main()函数的特性及执行顺序。特别强调了包依赖和init函数的实际运行顺序。
最低0.47元/天 解锁文章
1593

被折叠的 条评论
为什么被折叠?



