Result枚举在Rust中是使用频率极高的一个类型,常用于函数的返回值定义,其源码如下:
#[derive(Copy, PartialEq, PartialOrd, Eq, Ord, Debug, Hash...= "rust1", since = "1.0.0")] E),
}
抛开一堆#开头的trait不看,核心就是Ok及Err这2个泛型成员。...这类简单重复的判断,经常会用到,rust封装了1个等效的方法:unwrap,其内部实现如下:
pub fn unwrap(self) -> T {
match self {...("{}", result);
unwrap源码中的unwrap_failed继续追下去的话,可以看到:
fn unwrap_failed(msg: &str, error: &dyn fmt::Debug...Result枚举还提供了其它一些常用方法,参见上图,有兴趣的同学,可以研究下源码。