E0005
用于绑定名称的模式必须是不可辩驳的,也就是说其必须保证在所有情况下,名称都能取得。
错误的代码示例:
let x = Some(1);
let Some(y) = x;
// error: refutable pattern in local binding: `None` 没有覆盖到。
如果你遇到了这种错误,你可能需要使用 match
或 if let
来处理这种失败的可能。 例如:
let x = Some(1);
match x {
Some(y) => {
// do something
},
None => {}
}
// 或者:
if let Some(y) = x {
// do something
}
本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。