像许多其他语言一样,Go也支持打破循环并继续进行下一个迭代:
for x := 0; x < 10; x++ { // 循环从0到9
if x < 3 { // 跳过3之前的所有数字
continue
}
if x > 5 { // 一旦x == 6就会跳出循环
break
}
fmt.Println("iteration", x)
}
// 将打印:
// 迭代3
// 迭代4
// 迭代5该break和continue语句还接受一个可选的标签,用于标识外环路与声明的目标:
OuterLoop:
for {
for {
if allDone() {
break OuterLoop
}
if innerDone() {
continue OuterLoop
}
// 做点什么
}
}