Rust 学习之 Some、Option、Result

本文介绍了Rust编程语言中的Option、Result枚举类型以及它们与Some、None、unwrap()和?操作符的关系。Option用于处理可能缺失的值,防止空指针错误;Result用于处理函数调用的正常返回和异常情况。通过match和unwrap(),开发者可以在编译时发现潜在错误,提高代码的安全性。?
摘要由CSDN通过智能技术生成

Some、Option、Result

最近学习 Rust 时对它的所有权,借用等概念,包括语法之类的都还算好理解,但碰到 Some、Option、Result 这些,包括语句后面的 ? 号等等着实困惑了一把,不过经过各种资料的翻阅,总算是理解这几样东西的用法及存在的意义,在这里记录一下。

Option

严格的来说,只有 Option 和 Result,Some 只是 Option 的一个值包装类型。

我们先来描述一个普通的场景,在很多语言中,获取一个数据可能会返回 null 也可能会没有数据,拿 java 举个例:

User user = model.getUser();

if (user == null) {
   
    throw new Exception("用户不存在")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值