Go 对“goto”语句的谨慎使用
Go 中“goto”语句的存在经常引起人们的好奇,因为它的与代码混淆和流程复杂性的历史关联。有人可能会问为什么 Google 选择包含它。
在审查 Go 标准库时,我们发现明智地使用“goto”语句的实例。
例如,在 math/gamma 中.go 文件中,“goto”有助于简化控制流程。如果没有它,代码将需要额外的变量和条件检查,从而降低可读性和直观性:
for x < 0 { if x > -1e-09 { goto small } z = z / x x = x + 1 } ... small: if x == 0 { return Inf(1) } return z / ((1 + Euler*x) * x) }
这里,“goto”消除了对临时布尔变量来跟踪流程的需要,从而导致更简洁、清晰的代码结构。
需要注意的是,Go 对 goto 的使用受到特定规则的约束。 “goto”不得跳过变量声明或进入不同的代码块。这些限制可以防止该语句被滥用的可能性,同时保留其在上述特定场景中的有用性。
以上是为什么 Go 包含“goto”语句?的详细内容。更多信息请关注PHP中文网其他相关文章!