golang init()函数详解

Mr丶易客 · · 611 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

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

二、执行顺序问题
1、同一个包内的init()函数
按照源文件编译顺序决定顺序的(源文件编译默认是按照文件名排序)


image.png

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


image.png

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

                              ok  喜欢的话来波喜欢❤️

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:Mr丶易客

查看原文:golang init()函数详解

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

611 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传