Option枚举
概述
Rust中,Some是枚举类型。
Some是枚举类型Option的一个枚举值,另一个枚举值是None,所以Some的类型是Option。
枚举体中的所以变量名都会被赋值,其值从0开始,向正数方向增加,且定义后不可改变值。
Rust 语言枚举体不仅可以包含枚举项,每个枚举项还可以包含值。 在传递与赋值时没有意义,不需要特别的结构。
格式
pub enum Option<T> {
Some(T), // 表示有值,值的类型为T
None, // 表示没有值
}
创建
// 返回一个Option类型枚举
Some(T)
案例一
// 用 s 使用 Some 函数 创建 i
if let Some(i) = s { // 如果s为空,则该代码块不会被执行,Some在赋值时无意义,不需要解构
println!("{}", i);
} else {
{}
}
案例二
let mut a = Some(1);
match a {
Some(i) => { // a 有值匹配,a赋值给i
println!("{:?}",i)
}
_ => {
println!("22")
}
}
// 掏空
a.take();
match a {
Some(i) => {
println!("{:?}",i)
}
_ => { // a 无值匹配,a赋值给i
println!("22")
}
}
Last updated