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

golang中的init函数
R R2024-11-17 16:36
相关推荐
microrain3 小时前
从硬编码到热插拔:SagooIoT插件架构如何打破物联网平台的扩展瓶颈geovindu5 小时前
go:Backtracking Algorithmqq_452396235 小时前
第六篇:《并发编程核心:Goroutine 与 Channel》llwszx5 小时前
【Java/Go后端手撸原生Agent(第五篇):多工具并行调用 + BashTool执行引擎 + Judge证据链升级】FfHUCisI5 小时前
Go语言程序结构 —— 变量、声明与零值机制超人不会飞_Jay6 小时前
Go课程2晴空了无痕19 小时前
从 Go 基础到 K8s:一条可落地的 Go 服务端成长路线qq_452396231 天前
第五篇:《接口与错误处理:Go 的哲学》布朗克1681 天前
Go 入门到精通-29-测试与基准止语Lab1 天前
从 PHP 到 Go:真正迁移的是复杂度的归属