Go语言函数的使用与特性
1. init()和main()函数
Go语言为特殊用途保留了两个函数名: init() (所有包中)和 main() (仅在 main 包中)。这两个函数必须定义为无参数且无返回值。一个包可以有任意数量的 init() 函数,但目前至少有一个Go编译器每个包只支持一个 init() 函数,因此建议每个包最多使用一个 init() 函数。
Go语言会自动调用包中的 init() 函数和 main 包的 main() 函数,所以不应显式调用它们。对于程序和包来说, init() 函数是可选的,但每个程序必须在 main 包中有一个 main() 函数。
Go程序的初始化和执行总是从 main 包开始。如果有导入语句,会依次导入每个包,即使多个包都导入了同一个包,该包也只会被导入一次。当导入一个包时,如果它有自己的导入语句,会先执行这些导入,然后创建包级常量和变量,接着调用包的 init() 函数(如果有的话)。最终, main 包导入的所有包(及其导入的包等)都完成后,会创建 main 包的常量和变量,调用 main 包的 init() </
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



