init函数

执行顺序

每个包中都有可以有init函数,它闪的执行顺序与包的依赖关系有关。

比如:main函数中导入了A包和B包,而A包也导入到了B包,则执行顺序为 B.init() -> A.init() -> main()

特点

  • init函数只会执行一次,且在main函数之前执行

  • 如果某个包没有被导入,则该包的init函数不会被执行

匿名导入

疑问:既然某个包要初始化,那么该包一定会被调用,那么直接在调用该包的文件中导入该包好了,为什么还要在某个没有引用该包的文件中匿名导入该包?

最佳实践

  • 一个包中最好最多只有一个init函数

  • 除了框架的习惯用法外,最好不要使用匿名导入

Last updated

Was this helpful?