Golang中的init方法


init方法是什么

我们都知道程序的入口在main包下的main()方法,其实还有一个方法会在main方法之前执行,这个方法就是init()

init()方法用于package级别的一些初始化操作.

主要特点

  • init先于main自动执行,不能被其他函数调用
  • init方法没有输入参数和返回值
  • 每个package可以有多个init方法
  • package下的每个源文件可以有多个init方法
  • 同一个package下的init 方法执行顺序不确定,不要存在依赖关系
  • 不同package的init方法的执行顺序由package依赖关系确定(没有依赖的package最先执行)

注意的点

需要注意的地方就是,想要让init方法起作用,你必须要导入对应的package,但是如果你只想使用init方法,不想使用包里的其他方法,这个时候就需要无副作用的导入了:

import (
    "fmt"
    _ "github.com/jiangkang/JustGo/basic"
    _ "net/http"
)

文章作者: 姜康
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 姜康 !
评论
 上一篇
Flutter深色模式 Flutter深色模式
这些年,移动端UI的深色模式还是比较常见你的,IOS在系统级别已经率先支持了,Flutter作为一款优秀的跨端UI框架,在处理深色模式上是比较简单的。 BrightnessFlutter中有一个Brightness的概念,用来表示主题和
2020-05-08
下一篇 
Android中的存储路径 Android中的存储路径
存储数据的几种方式 应用专属存储空间 应用专属空间里的数据会在应用被卸载的时候删除,清除缓存通常指的是清除缓存文件下的文件,清空数据则是清空所有cache,files下文件,如果想让其他APP可以访问这些私有数据,可以利用FileProvi
2020-05-08
  目录