抽空简单回顾下部分基础:init()相关知识,其他待完善。

包初始化之后执行,做些没办法被初始化表达式完成的事情/注册-确保包多次引用但只加载一次。如加载一些配置,数据库注册等。包中可以含有多个init(),主要是按照书写顺序及包中依赖次序执行。若加载单一init包,而未引用,可用“_”。

thinking:这个init()机制与java中的类加载机制【双亲加载】相似,可用于对比理解学习。

相关:
https://zhuanlan.zhihu.com/p/163251113
https://studygolang.com/articles/26093?fr=sidebar