Go语言:初始化函数 init() 的使用详解

定义:


  • 每个包都可以定义 一个多个 init() 函数
  • init() 函数 没有 参数传递
  • init() 函数 没有 返回值
package main

func init() {
    println(`执行了初始函数1`)
}

func init() {
    println(`执行了初始函数2`)
}

func main() {
    println(`执行了主函数`)
}

执行顺序:


  • init() 函数 的执行顺序在 main() 函数 之前
  • 按照 源文件文件文件名排序编译顺序 决定 执行顺序
  • 当一个 源文件 中有 多个 init() 函数 时,执行顺序 从上到下
  • 导入包的顺序 即是 init()函数 的 执行顺序
  • 不同包 下 按照包导入的 依赖关系 决定执行顺序(依赖关系导入的包中可能还导入了其他的包
  • 导入相同包 只会执行一次

你可能感兴趣的:(Go语言:初始化函数 init() 的使用详解)