程序的初始化和执行都起始于 main 包。如果 main 包还导入了其它的包,那么就会在编译时将它们依次
导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到 fmt 包,但
它只会被导入一次,因为没有必要导入多次)。当一个包被导入时,如果该包还导入了其它的包,那么
会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行 init 函数(如果
有的话),依次类推。等所有被导入的包都加载完毕了,就会开始对 main 包中的包级常量和变量进行
初始化,然后执行 main 包中的 init 函数(如果存在的话),最后执行 main 函数。

golang中的init函数
R R2024-11-17 16:36
相关推荐
紫洋葱hh16 小时前
Go 入门基础:类型、变量与运算符codeejun18 小时前
每日一Go·MySQL-7、MySQL 核心原理全景图谱acd1200919 小时前
Go 里 err 被不经意覆盖的几个现场倔强的小石头_2 天前
从Go+SQLite编译到浏览器开局:landlord部署、AI对局与固定地址实战tachibana22 天前
Go 语言的 Map 是否是并发安全的?后除2 天前
Go 实战: 使用 Wails v2.15 构建轻量级的桌面应用 - 仿微信登录界面看浪的路人2 天前
第8讲:RAG 生产化——Go 实现亿级向量召回 + 混合检索 + 重排序 Pipelinetachibana22 天前
Go 语言 Map 的扩容过程是怎样的?念何架构之路2 天前
go-grpc服务端调用链yuanlaile2 天前
Go 语言全栈实战学习路线:从零基础到云原生微服务的完整拼图