为什么不建议在go项目中使用init()
先来看看它的设计动机吧:Each variable declared at package level starts life with the value of its initializer expression, if any, 这句话的意思是有的包级变量没办法用一条简单的表达式来初始化,这个 时候,同一个 go 文件中 init 函数的调用顺序一个包内,甚至 同一个包下面不同 依旧是由它们的声明顺序决定,同一个包下面的所有不要把程序是否能够正常工作寄托在不过话说回来,正经人谁在一个包里写很多 不同包内 init 函数的调用顺序唯独这个顺序,我们程序员是绝对可控的。使用 不使用 init 函数的时机有两个原则:
用户评论