Rust 标准库 API Option
Rust 大约 1169 字源码
Option
是一个范型枚举,有None
和Some
两个字段。
pub enum Option<T> {
None,
Some(T),
}
is_some 判断是否是 Some
let option: Option<i32> = Some(123);
let is_some: bool = option.is_some();
is_none 判断是否是 None
let option: Option<i32> = Some(123);
let is_none: bool = option.is_none();
match 匹配
match Some(100) {
Some(50) => println!("50"),
Some(x) => println!("{}", x),
None => println!("none"),
}
if let 匹配
let option: Option<i32> = Some(123);
if let Some(50) = option {
println!("found some=50");
} else if let Some(x) = option {
println!("found some={}", x);
} else {
println!("found none");
}
expect
let i: i32 = Some(123).expect("must be i32");
unwarp
let i1: i32 = Some(123).unwrap();
let i2: i32 = Some::<u16>(123).unwrap_or(0);
let i3: i32 = None::<i32>.unwrap_or_default();
let i4: i32 = Some(123).unwrap_or_else(|| 666);
take
从Option
中取出值,将原来的Option
变为None
。
// Takes the value out of the option, leaving a None in its place.
let mut option = Some(123);
// let mut option = None;
let take_option: Option<i32> = option.take();
println!("{:?}", option);
println!("{:?}", take_option);
输出
None
Some(123)
阅读 131 · 发布于 2023-04-17
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Linux 两个文件取并集、交集、差集阅读 4136
-
PostgreSQL增删改使用 returning 获取记录相关属性阅读 2097
-
PostgreSQL 数据库角色管理阅读 2189
-
Java 并发编程之 ConcurrentSkipListMap阅读 1244
-
Android SharedPreferences 工具类阅读 3377
-
SpringMVC 使用对象接收 GET 请求参数 QueryString阅读 499
-
HTML 自定义表单验证信息阅读 1010
-
Go 在 Windows 上编译 Linux 版本阅读 3812
-
面试题:二进制与十进制互相转换阅读 2596
-
HTML 判断是否禁用了 JS阅读 1886