golang init()函数详解

2018-12-08  本文已影响121人  Mr丶易客

一、每个包都可以一个或多个init()函数
即 每个源⽂件都可以定义⼀个或多个初始化函数

      func init() {
        fmt.Println("aaa init函数执行")
    }
      func init() {
        fmt.Println("aaa init函数执行")
    }

二、执行顺序问题
1、同一个包内的init()函数 (注意:同一个源文件内有多个init()函数时,执行顺序从上到下)
按照源文件编译顺序决定顺序的(源文件编译默认是按照文件名排序)


image.png

2、不同包的init()函数
按照包导入的依赖关系决定顺序。
1、相同包只会被导入一次
2、导入包的顺序 即是 init()函数的执行顺序


image.png

import包的使用详解:大牛 黄哲先生 的学习之路
https://www.jianshu.com/p/e200fe9b0956

                              ok  喜欢的话来波喜欢❤️
上一篇下一篇

猜你喜欢

热点阅读