栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Go为什么有“ goto”语句

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Go为什么有“ goto”语句

当我们实际检查Go标准库的源代码时,我们可以看到

goto
s在哪些地方得到了很好的应用。

例如,在

math/gamma.go
文件中,使用以下
goto
语句:

  for x < 0 {    if x > -1e-09 {      goto small    }    z = z / x    x = x + 1  }  for x < 2 {    if x < 1e-09 {      goto small    }    z = z / x    x = x + 1  }  if x == 2 {    return z  }  x = x - 2  p = (((((x*_gamP[0]+_gamP[1])*x+_gamP[2])*x+_gamP[3])*x+_gamP[4])*x+_gamP[5])*x + _gamP[6]  q = ((((((x*_gamQ[0]+_gamQ[1])*x+_gamQ[2])*x+_gamQ[3])*x+_gamQ[4])*x+_gamQ[5])*x+_gamQ[6])*x + _gamQ[7]  return z * p / qsmall:  if x == 0 {    return Inf(1)  }  return z / ((1 + Euler*x) * x)}

goto
从导入只是控制流使用的另一(布尔值)的变量,在端部检查在这种情况下我们节省。 在这种情况下
,该
goto
语句使代码实际上更易于阅读,并且更易于遵循(与上述针对
goto
您的论点完全相反)。

另请注意,该

goto
语句具有非常特定的用例。goto的语言规范指出,它可能不会跳过进入范围(被声明)的变量,并且可能不会跳过其他(代码)块。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/436162.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号