当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Rust Result.or用法及代码示例


本文简要介绍rust语言中 core::result::Result.or 的用法。

用法

pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

如果结果为 Err ,则返回 res ,否则返回 self Ok 值。

传递给or 的参数被热切评估;如果要传递函数调用的结果,建议使用 or_else ,它是惰性求值的。

例子

基本用法:

let x: Result<u32, &str> = Ok(2);
let y: Result<u32, &str> = Err("late error");
assert_eq!(x.or(y), Ok(2));

let x: Result<u32, &str> = Err("early error");
let y: Result<u32, &str> = Ok(2);
assert_eq!(x.or(y), Ok(2));

let x: Result<u32, &str> = Err("not a 2");
let y: Result<u32, &str> = Err("late error");
assert_eq!(x.or(y), Err("late error"));

let x: Result<u32, &str> = Ok(2);
let y: Result<u32, &str> = Ok(100);
assert_eq!(x.or(y), Ok(2));

相关用法


注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 core::result::Result.or。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。