当前位置: 首页 > news >正文

linux 搭建网站服务器成都1号病例判刑

linux 搭建网站服务器,成都1号病例判刑,百度霸屏推广,湛江企业网站前言 go 语言中有一个非常神奇的函数 init ,它可以在所有程序执行开始前被执行,并且每个 package 下面可以存在多个 init 函数,我们一起来看看这个奇怪的 init 函数。 init 特性 init 函数在 main 函数之前执行,并且是自动执行&#xff1b…

前言

go 语言中有一个非常神奇的函数 init ,它可以在所有程序执行开始前被执行,并且每个 package 下面可以存在多个 init 函数,我们一起来看看这个奇怪的 init 函数。

init 特性

  • init 函数在 main 函数之前执行,并且是自动执行;
  • 每个 package 中可以存在多个 init 函数;
  • 每个 package 中的源文件也可以存在多个 init 函数;
  • init 函数没有输入参数,返回值,也没有声明,无法引用;
  • 不同的 package 中的 init 函数按照包导入的依赖关系决定执行顺序;
  • 无论包被导入多少次,init 函数只会执行一次。

init 的执行顺序

初始化顺序

这张图清晰反应了 init 函数的加载顺序:

  • 优先级最高的是 package 加载,先层层递归进行包加载
  • 每个包中的加载顺序是:const -> var -> init

变量的初始化顺序

针对变量的初始化顺序,GO 官方文档有一个例子

变量的初始化顺序

  • 这个例子的初始化顺序:d -> b -> c -> a
  • 变量的初始化顺序是按照出现的顺序进行先后加载的
  • 如果某个变量需要依赖其他变量,则被依赖的变量先初始化

package 中多个 init 的执行顺序

GO 官方文档对这个有专门的说明

  • 如果当前包下有多个 init 函数,首先按照源文件名的字典序从前往后执行
  • 若一个文件中出现多个 init 函数,则按照出现顺序从前往后进行执行

加载顺序总结

  • 从当前包开始,如果当前包 import 了多个依赖包,
  • 先加载依赖包,层层递归初始化各个包,
    • 在每一个包中,按照源文件的字典序从前往后执行,
      • 每一个源文件中, 优先初始化常量,变量,最后是 init 函数,
      • 当出现多个 init 函数时,则按照出现的顺序从前往后一次执行,
    • 每一个包都初始化完成后,递归返回
  • 初始化当前包。

init 的使用场景

  • 服务注册
  • 数据库,缓存等中间件的初始化连接

init 注意事项

  • 开发时尽量不要依赖 init 的顺序,
  • 复杂的逻辑不要使用 init 函数,
  • init 函数不能在代码中被显式调用,不能被引用,
  • 导入包不要出现循环依赖,
  • 导入包仅仅想使用这个包的 init,不使用其他方法,可以加上下划线_ ,
  • 例如:import _ "cumsuter_package",
  • init 不应依赖 main函数里面创建的变量,因为 init 先于 main 执行。
http://www.yayakq.cn/news/969624/

相关文章:

  • 为什么网站显示在建设中怎样制作购物网站 微信转发
  • wordpress 主题演示河北seo基础知识
  • 蒙古文网站建设汇报材料门户网站作用
  • 视频网站视频预览怎么做crm软件排行榜
  • 如何建设简单网站中国工业设计网站
  • 网站设计的目的和意义互联网+创业项目ppt成品
  • wordpress还原站点辽宁奔之流建设工程有限公司网站
  • 什么网站ppt做的好网页制作的收获与体会
  • 公司建设网站能提升什么竞争力常州百度推广排名优化
  • 宁波网站建设设计制作公司增城免费网站建设
  • 金华建设技工学校网站免费一级域名解析
  • 自己建的网站如何百度搜索全球搜索
  • 高端网站建设与发展天津制作公司网站
  • 专业商城网站设计制作做暧暖ox免费视频网站
  • 中文wordpress站点网站跳出率高还是低
  • 网站如何引导客户华为网站建设目标
  • 什么叫做网站维护wordpress VIP账号插件
  • 网站建设费属于无形资产吗上海建设工程咨询协会
  • 嘉兴网站建设方案优化网页设计培训学校哪家好
  • 看谁做的好舞蹈视频网站钓鱼网站的危害
  • 网站开发厂商直播软件视频软件
  • 建设网站采用的网络技术马来西亚的网站后缀
  • 做舞美的好素材网站jwordpress怎么安装到阿里云
  • 苏州市建设局网站地址wordpress 友情链接分类
  • 网络营销站点推广的方法经典网站建设
  • 定制营销型网站公司网站购买流程
  • 网站建设管理需要招聘什么人才免费建立个人网站申请
  • 微信官方网站怎么进入用开源源码做淘宝客网站
  • python做流量网站网站备案网站前置审批
  • 邯郸网站建设在哪里网站服务器申请