go package init

没地方发,太久没实际写go了,都是面试吹比

发现很多简单的地方都不懂

之前我以为main引用别的包,肯定是别的包的init先走然后才走main的
尽管我看了 go sepc 里的那条”按照 import graph  先初始化被引用的包“,我还是没意识到这一点

简单来说
1. 如果 A 导入了 B,则先走 B 的所有变量初始化/init,再走 A 的。
2. 同一个包内,source 文件名决定了不同文件间的初始化顺序,文件内部则按代码先后。

防止初始化问题,有问题先panic掉
恶补基础了
全部评论
我今天又想到一个坑,用 go run 有三个模式,用文件模式一定注意,不会帮你导入其他文件
点赞 回复 分享
发布于 04-22 08:53 北京

相关推荐

评论
3
1
分享

创作者周榜

更多
牛客网
牛客企业服务