我更喜欢使用let Else语句,因为它go 掉了代码中的嵌套
let Ok(result) = function_call_that_returns_a_result() else {
return "error message".into();
}
但是,如果我使用if let、Else或Match语句,我可以访问内部的实际错误消息.
if let Err(err) = function_call_that_returns_a_result() {
return format!("Error: {}", error).into();
}
有什么简单的方法可以避免使用第二种方法吗?因为如果我像这样使用它,我会得到额外的嵌套.
if let Some(value) = function_call_that_returns_a_result() {
// value is available one level nested
}
其他方法也值得考虑.我希望避免两次判断相同的可选代码,否则,我只会判断一次,打印错误,然后在确保它不包含错误后解开().然而,这种方法感觉很笨拙.