gpt4 book ai didi

go - 为什么此代码不使用中断标签永远循环?

转载 作者:IT王子 更新时间:2023-10-29 01:22:20 25 4
gpt4 key购买 nike

我想弄清楚 break with labels 是如何工作的。

我希望下面的程序永远打印“In if statement”。这是因为 break here 语句将代码执行回到 for 循环的开头,然后应该一次又一次地执行。

但是,这段代码只执行一次。我在这里缺少什么?

package main

import "fmt"

func main() {
here:
for {
fmt.Println("In if statement")
break here

}
fmt.Println("At the bottom")
}

执行结果:

In if statement
At the bottom

Program exited.

http://play.golang.org/p/y9kH1YZezJ

最佳答案

来自 break statements 上的 go 规范:

If there is a label, it must be that of an enclosing "for", "switch", or "select" statement, and that is the one whose execution terminates.

break 语句不会将您的代码带回标签,它会关闭标签引用的循环。所以一切正常……

关于go - 为什么此代码不使用中断标签永远循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24381799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com