Golang的执行过程

下图是在Beego 项目路由设置 中看到的,关于 Go 代码的执行过程如下图:

通过逐行 import 包的执行流程,使用递归的方式,依次初始化包中的常量、变量和 init 函数。
在这里插入图片描述
知道这个有什么用呢?如果遇到下面的情况:

A包的代码必须在B包之前被执行,那么导入 package 的顺序就格外重要。真的存在这种情况吗?