E4111#
break 语句的使用无效。
当您在循环的初始化、条件或更新语句中使用 break 语句时,就会发生此错误。
错误示例#
///|
pub fn f(x : Int, y : Int) -> Unit {
for i = 0; i < x; i = i + 1 {
for j = ({
break
})
j < y
j = j + 1 {
// ^^^^^ Error: The usage of break statement is invalid.
println(i + j)
}
}
}
建议#
不要在循环的初始化、条件或更新语句中编写 break 语句。请将它放在循环体中。
///|
pub fn f(x : Int, y : Int) -> Unit {
for i = 0; i < x; i = i + 1 {
for j = 0; j < y; j = j + 1 {
if i + j > 10 {
break
}
println(i + j)
}
}
}
当未带标签的 break 直接位于带标签的代码块内时,也会出现此错误。退出代码块时请指定其标签:
///|
pub fn value_or_zero(value : Int?) -> Int {
result~: {
guard value is Some(result) else { break }
result
}
}
///|
pub fn value_or_zero(value : Int?) -> Int {
result~: {
guard value is Some(result) else { break result~ 0 }
result
}
}