1.continue实现
1 2 3 4 5 6 7
| fun foo() { listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return@forEach print(it) } print(" done with implicit label") }
|
此时,return就实现了continue的功能,代码输入1245,不输出3
2.break实现
1 2 3 4 5 6 7 8 9
| fun foo() { run loop@{ listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return@loop print(it) } } print(" done with nested loop") }
|
使用run{}将foreach包裹起来,然后局部返回,此时跳出循环,实现了break的功能。代码输出12,不输出345
3.小彩蛋,跳出函数
1 2 3 4 5 6 7
| fun foo() { listOf(1, 2, 3, 4, 5).forEach { if (it == 3) return print(it) } println("这行打印函数,执行不到") }
|
此时,直接跳出foo()函数,下面的打印函数不执行。