Golang - 多个 init 方法的执行顺序


  执行顺序是按照导入包的顺序执行,而不是按照调用先后顺序执行。

1、init 的主要作用:初始化。

2、init 的主要特点:

   1)init 函数先于 main 函数自动执行,不能被其他函数调用;
   2)init 函数没有输入参数、返回值;
   3)每个包可以有多个 init 函数(一般建议只写一个init,便于维护和可读性);
   4)包的每个源文件也可以有多个 init 函数,这点比较特殊;
  5) 同一个包的 init 执行顺序, golang 没有明确定义,编程时要注意程序不要依赖这个执行顺序;
   6)不同包的 init 函数按照包导入的依赖关系决定执行顺序。 
          

3、值得注意的地方:

  1)、【import _ 包路径】的含义
  为了调用init()函数,无法通过包名来调用包中的其他函数。
  2)、【包前有. 】的含义 
import(.“fmt”)
  导入包之后在你调用这个包的函数时,可以省略前缀的包名,写成Println(“hello world”)。
  3)、【别名操作】的含义
  避免与其他包名重复或者为了简化包名,别名操作调用包函数时前缀变成了重命名的前缀。
import(f “fmt”)

       调用f.Println()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM