gpt4 book ai didi

loops - 如何在不运行以下脚本的情况下退出循环

转载 作者:行者123 更新时间:2023-12-01 22:16:22 24 4
gpt4 key购买 nike

我想从第二个循环跳到第一个循环(如break),但是在中断之后,我不想打印fmt.Println("The value of i is", i)。算法如何?

package main

import "fmt"

func main() {
for i := 0; i < 2; i++ {
for j := 0; j < 4; j++ {
if j == 2 {
fmt.Println("Breaking out of loop")
break
} else {
fmt.Println("j = ", j)
}
}
fmt.Println("The value of i is", i)
}
}

最佳答案

编辑:您已编辑代码,因此这是已编辑的答案。

要从内部继续外循环(破坏内循环并跳过外循环的其余部分),您必须继续外循环。

要使用continue语句解决外部循环,请使用标签:

outer:
for i := 0; i < 2; i++ {
for j := 0; j < 4; j++ {
if j == 2 {
fmt.Println("Breaking out of loop")
continue outer
} else {
fmt.Println("j = ", j)
}
}
fmt.Println("The value of i is", i)
}

这将输出(在 Go Playground上尝试):
j =  0
j = 1
Breaking out of loop
j = 0
j = 1
Breaking out of loop

原始答案:
break总是从最内部的循环(更具体地说是 forswitchselect)中断,因此在此之后,外部循环将继续进行下一次迭代。

如果您有嵌套循环,而要从内部循环中中断,则必须使用标签:
outer:
for i := 0; i < 2; i++ {
for j := 0; j < 4; j++ {
if j == 2 {
fmt.Println("Breaking out of loop")
break outer
}
fmt.Println("The value of j is", j)
}
}

这将输出(在 Go Playground上尝试):
The value of j is 0
The value of j is 1
Breaking out of loop

关于loops - 如何在不运行以下脚本的情况下退出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838344/

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