Golang - 多个 init 方法的执行顺序
执行顺序是按照导入包的顺序执行,而不是按照调用先后顺序执行。
1、init 的主要作用:初始化。
2、init 的主要特点:
1)init 函数先于 main 函数自动执行,不能被其他函数调用;
2)init 函数没有输入参数、返回值;
3)每个包可以有多个 init 函数(一般建议只写一个init,便于维护和可读性);
4)包的每个源文件也可以有多个 init 函数,这点比较特殊;
5)同一个包的 init 执行顺序, golang 没有明确定义,编程时要注意程序不要依赖这个执行顺序;
6)不同包的 init 函数按照包导入的依赖关系决定执行顺序。

3、值得注意的地方:
1)、【import _ 包路径】的含义
为了调用init()函数,无法通过包名来调用包中的其他函数。
2)、【包前有. 】的含义
import(.“fmt”)
导入包之后在你调用这个包的函数时,可以省略前缀的包名,写成Println(“hello world”)。
3)、【别名操作】的含义
避免与其他包名重复或者为了简化包名,别名操作调用包函数时前缀变成了重命名的前缀。
import(f “fmt”)
调用f.Println()
分类:
Golang
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库