init函数执行顺序由包导入关系和文件字典序决定:先执行被依赖包的init,再执行当前包的;同一包内按文件名字典序执行,如main.go早于util.go。

Go语言中
init
每个包可以包含多个
init
init
init
init
init
main.go
init
util.go
init
Go构建系统会根据导入关系构建依赖树,确保依赖包先被初始化。
init
假设有以下结构:
立即学习“go语言免费学习笔记(深入)”;
package main
import "fmt"
func init() {
fmt.Println("main init 1")
}
func init() {
fmt.Println("main init 2")
}
输出结果一定是:
main init 1 main init 2
因为同一文件中
init
init
init
init
init
基本上就这些。只要记住“依赖优先、文件名排序、顺序执行”,就能准确预判
init
以上就是Golang的init函数在包导入时的执行顺序是怎样的的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号