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