Go 打破并继续

示例

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