这里我们需要分情况讨论:
1. 如果将多个init函数写在了同一个程序中,那么这些init函数就会按照定义的顺序进行调用。
2. 如果同一个包中有多个源程序,而这些源程序中又定义了init函数,那么就会按照名字的字典序来依次调用init函数。
3. 如果存在不同的包,且这些包没有相互的依赖关系(即:一个包import了另一个包),那么就会按照main包的import顺序来依次调用包中的init函数。
4. 如果存在不同的包,且这些包存在相互的依赖关系,那么最后被依赖的包会被最先初始化。例如:main import A A import B B import C C import D。那么,最先执行D包的init,C包的init,B包的init,A包的init,main包的init,main函数。
5. 如果在包中定义了全局变量/全局常量,那么全局变量会先于包的init函数初始化。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)