【Rust】结果枚举(一)

环境

  • Time 2022-03-24
  • Rust 1.59.0

示例

is_ok

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.is_ok());
}

is_err

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.is_err());
}

ok

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.ok());
}

err

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.err());
}

as_ref

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.as_ref());
}

map

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.map(|e| e / 4));
}

map_or

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.map_or(22, |e| e / 4));
}

map_or_else

fn main() {
    let result: Result<i32, &str> = Ok(44);
    println!("{:?}", result.map_or_else(|_| 2, |e| e / 4));
}

map_err

fn main() {
    let result: Result<i32, &str> = Err("error");
    println!("{:?}", result.map_err(|e| format!("[{}]", e)));
}

总结

了解了结果枚举中相关的一些方法。

附录

posted @   jiangbo4444  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-05-28 JavaWeb:Cookie
点击右上角即可分享
微信分享提示