init 函数 #
作用 #
- 初始化不能采用初始化表达式初始化的变量
- 程序运行前的注册
- 实现 sync.Once 功能
特点 #
- init 函数先于 main 函数自动执行
- init 不能被其他函数调用
- init 函数没有输入参数、返回值
- 每个包可以有多个 init 函数
- 包的每个源文件也可以有多个 init 函数
- 同一个包的 init 执行顺序,golang 没有明确定义,编程时要注意程序不要依赖这个执行顺序
- 不同包的 init 函数按照包导入的依赖关系决定执行顺序
问答 #
只想调用该包的 init 函数,不使用包导出的变量或者方法 #
import _ "net/http/pprof"
执行上述导入后,init 函数会启动一个异步协程采集该进程实例的资源占用情况,并以 http 服务接口方式提供给用户查询。
叶王 © 2013-2024 版权所有。如果本文档对你有所帮助,可以请作者喝饮料。