休息并继续

中断和继续关键字的工作方式与其他语言相同。

while(true) {
    if(condition1) {
        continue // Will immediately start the next iteration, without executing the rest of the loop body
    }
    if(condition2) {
        break // Will exit the loop completely
    }
}

如果你有嵌套循环,则可以标记循环语句并限定 break 和 continue 语句以指定要继续或中断的循环:

outer@ for(i in 0..10) {
    inner@ for(j in 0..10) {
        break       // Will break the inner loop
        break@inner // Will break the inner loop
        break@outer // Will break the outer loop
    }
}

但是,这种方法不适用于功能性 forEach 构造。