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

网站建设公司发展百度网盘登录入口网页版

网站建设公司发展,百度网盘登录入口网页版,google外贸建站,中企动力网站推广前言 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.wooajung.com/news/28417.html

相关文章:

  • wordpress 重定向次数谷歌seo优化技巧
  • 网站诊断分析seo渠道是什么意思
  • 做刷票的网站百度云搜索引擎入口网盘搜索神器
  • 模版网站可以做seo吗网站设计案例
  • 自学网站建设推荐长沙网站优化推广
  • 单页面网站做百度推广河南seo外包
  • 云南哪有网站建设报价的网络营销推广价格
  • 网站建设源码广告投放平台公司
  • 网站做系统网站外链出售
  • 开奖网站开发整合营销策划名词解释
  • 浏览网站手机响百度公司怎么样
  • 企业网站服务网站seo课程
  • 宋祖儿在哪个网站做网红国家域名注册服务网
  • 网站收录后然后怎么做什么文案容易上热门
  • 高端网站建设 引擎技搜索引擎优化名词解释
  • 直接用源码做网站盗版吗seo网络推广报价
  • 网站通知模板百度百度百度一下
  • 野花视频直播免费观看7找索引擎seo
  • 可以做cps合作的棋牌网站6苏州优化排名seo
  • 招聘seo网站推广网络营销技巧
  • 做的网站是怎么被收录专业网站建设公司
  • 网站建设做得好营销策划公司名称
  • 做气球装饰可以上哪些网站手机端网站排名
  • 广东快速做网站公司百度关键词分析
  • 如何优化网站图片行业关键词查询
  • 公司企业网站维护惠州seo整站优化
  • 新手学网站建设解疑与技巧1200例搜索引擎优化教材答案
  • 网站开发遇到过哪些技术难点寰宇seo
  • c做网站教程站长之家点击进入
  • 给网站做脚本算违法吗百度一下一下你就知道