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

定义:


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

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

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

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

执行顺序:


  • init() 函数 的执行顺序在 main() 函数 之前
  • 按照 源文件文件文件名排序编译顺序 决定 执行顺序
  • 当一个 源文件 中有 多个 init() 函数 时,执行顺序 从上到下
  • 导入包的顺序 即是 init()函数 的 执行顺序
  • 不同包 下 按照包导入的 依赖关系 决定执行顺序(依赖关系导入的包中可能还导入了其他的包
  • 导入相同包 只会执行一次
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容