像许多其他语言一样,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 } // 做点什么 } }