当前位置: 首页 > 网络应用技术

您是否曾经遇到过由GO 1.13版本引入的坑?

时间:2023-03-08 17:21:49 网络应用技术

  让我们看一下以下程序。输出的结果应该是什么?

  思考几秒钟。

  在Go 1.13版本之前,打印了上述程序的结果

  从GO 1.13的版本开始,上述过程打印的结果是

  从习惯认知的角度来看,应按以下顺序执行编译器

  GO编译器实际上遵循此设计。官方文档的描述如下:

  在软件包级别,初始化依赖性确定了各分数中单个初始化表达式的评估顺序。

  

  可以知道,最后一个句子的表达情况,当调用函数时,该函数的操作数量从左到右解析。

  该错误实际上是由Google GO团队成员Matthew Dempsky提出的。去正式声称这个错误。此错误的原因也很明显。它首先执行然后执行。

  这是因为我们在类型检查期间重写。

  GCCGO正确编译。

  

  从长远来看,我认为我们应该将订单置于统一。

  该错误的当前影响如下:

  上述程序的结果执行结果。

  GITHUB中的文章和示例代码开源:GO语言主要,中级和高级教程。

  公共帐户:编码高级。

  个人网站:Jincheng的博客。

  Zhihu:Wuji

  原始:https://juejin.cn/post/7097452087906304013