回答

收藏

为什么 Go 有一个“goto”语句

技术问答 技术问答 230 人阅读 | 0 人回复 | 2023-09-12

我惊讶地发现 Go 有一个“goto句子。我一直被教导goto语句已经成为过去和邪恶,因为它会阻碍程序的实际过程,函数或方法总是控制过程的更好方法。
6 ~# u. w/ V2 x  W7 E4 ]6 {+ ^我一定错过了什么。谷歌为什么包括它?
3 V6 G2 z$ N2 p) h                                                               
& @; w9 I. r: @4 H1 v2 g4 b    解决方案:                                                                9 U$ a6 h* o% P& I/ c% q
                                                                实际检查 Go当 标准库的源代码时,我们可以看到gotos 实际应用良好的地方。
2 w% K; B" n5 [2 s9 R! @: I1 h例如,在math/gamma.go以下文件用于文件goto语句:" g# b5 d% A: B: y
[code]  for x  -1e-09 {             goto small   }    z = z / x    x = x  1      for x 在goto在这种情况下,我们节省了从导入到控制流的另一个(布尔值)变量。在这种情况下,该goto句子实际上使代码更容易阅读和遵循(和goto你提到的反对论点完全相反)。) `- e4 G& Y7 c
请注意,这个goto语句有一个非常具体的用例。goto 语言规范声明不能跳过进入作用域(声明)的变量或其他(代码)块。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则