Result枚举

概述

要么成功,返回OK(T)

要么失败,返回Err(E)

在传递与赋值时没有意义,不需要特别的结构。

如果Result是一个E类型的错误值,则提前返回错误,结束当前函数。

如果Result是一个T类型的正确值,则提取出值,方便后续进行链式调用。

格式

pub enum Result<T,E> {
    OK(T), // 成功返回T类型,提取出值,方便后续进行链式调用。
    Err(E), // 失败返回E类型,提前返回错误,结束当前函数。
}

问号

? 操作符可以方便地对Result<T,E>进行值提取(Ok(v) => v),或者返回一个错误类型值,提前结束当前函数。 ? 操作符只能使用在以Option或者Result作为返回值的函数体中。

案例

fn func() -> Result<T,E> {}
func()? // 正确提取T,错误提前结束函数

Last updated