Rust 中 Result 类型的全面解析与应用
1. Result 类型概述
Result 类型与 Option 类型类似,但它有一个额外的优势,即能够存储任意错误值,并提供更多关于错误的上下文信息,而不仅仅是 None。当我们希望用户了解操作失败的原因时,Result 类型就非常适用。其类型签名如下:
enum Result<T, E> {
Ok(T),
Err(E),
}
它有两个泛型变体:
- Ok(T) :用于表示操作成功的状态,可以放入任意类型的值 T。
- Err(E) :用于表示操作失败的状态,可以放入任意类型的错误值 E。
创建 Result 值的示例代码如下:
// create_result.rs
fn main() {
let my_result = Ok(64);
let my_err = Err("oh no!");
}
然而,这段代码无法编译,因为 Result 有两个泛型变体,而我们只为 my_result 的 Ok 变体指定了具体类型,编译器不知道 E 的具体类型。对于 my_err 也是同样的问题。我们需要为两者都指定具体类型,修正后的代码如下:
/
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



