init

init 函数 #


作用 #

  • 初始化不能采用初始化表达式初始化的变量
  • 程序运行前的注册
  • 实现 sync.Once 功能

特点 #

  • init 函数先于 main 函数自动执行
  • init 不能被其他函数调用
  • init 函数没有输入参数、返回值
  • 每个包可以有多个 init 函数
    • 包的每个源文件也可以有多个 init 函数
  • 同一个包的 init 执行顺序,golang 没有明确定义,编程时要注意程序不要依赖这个执行顺序
  • 不同包的 init 函数按照包导入的依赖关系决定执行顺序

问答 #

只想调用该包的 init 函数,不使用包导出的变量或者方法 #

import _ "net/http/pprof"

执行上述导入后,init 函数会启动一个异步协程采集该进程实例的资源占用情况,并以 http 服务接口方式提供给用户查询。


参考 #


本文访问量

本站总访问量

本站总访客数 人次