break
或 continue
用法。
break
和 continue
关键字始终适用于实际循环(for
、while
、do-while
)。 break
和 continue
从不适用于函数;例如,break
和 continue
不适用于 forEach
、filter
、map
。
在类循环函数(如 forEach
)内使用 break
或 continue
可能会引起混淆。
该检查会建议添加标签,以澄清 Break
或 Continue
适用于哪条语句。
由于 Kotlin 没有类循环函数的概念,该检查将使用启发。 它假设没有 callsInPlace(EXACTLY_ONCE)
或 callsInPlace(AT_LEAST_ONCE)
其中一个约定的函数是类循环函数。
示例:
for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue
println(line)
}
}
该快速修复会添加澄清标签:
loop@ for (file in files) {
file.readLines().forEach { line ->
if (line == commentMarkerLine) continue@loop
println(line)
}
}