声明顺序:
- 在完成包的import之后,开始对常量,变量和类型的定义或声明。
- 如果存在init函数的话,则对函数进行定义(这是一个特殊的函数,每个含有该函数的包都会先执行这个函数)。
- 如果当前包是main包,则定义main函数。
- 然后定义其余的函数,首先是类型的方法,接着是按照main函数中先后调用的顺序来定义相关函数,如果有很多函数,则可以按照字母顺序进行排序。
执行顺序:
- 按顺序导入所有被main包引用的其他包,然后再每个包中执行如下②③④流程。
- 如果该包又导入了其他包,则从第一步开始递归执行,但是每一个包只会被导入一次。
- 然后以相反的顺序在每个包中初始化常量和变量,如果该包含有init函数的话,则调用该函数。
- 在完成这一切之后,main也执行同样的过程,最后调用main函数开始执行程序。
原文链接:https://blog.csdn.net/weixin_43897770/article/details/110150047