中断和继续关键字的工作方式与其他语言一样。
while(true) { if(condition1) { continue // 将立即开始下一次迭代,而无需执行其余的循环主体 } if(condition2) { break // 将完全退出循环 } }
如果您有嵌套循环,则可以标记循环语句并限定break和continue语句,以指定要继续或中断的循环:
outer@ for(i in 0..10) { inner@ for(j in 0..10) { break // 会打破内循环 break@inner // 会打破内循环 break@outer // 会打破外循环 } }
但是,这种方法不适用于功能forEach构造。