rust_learning/enum_match/
option_def.rs

1/// 定义一个函数来演示如何使用Option类型
2pub fn option_use() {
3    // 初始化一个具有Some值的Option类型变量
4    let num = Some(5);
5    // 打印显示num的值
6    println!("num is {:?}", num);
7
8    // 初始化一个具有None值的Option类型变量,显式指定类型为Option<i32>
9    let none: Option<i32> = None;
10    // 打印显示none的值
11    println!("none is {:?}", none);
12
13    // 初始化一个具有Some值的Option类型变量
14    let opt = Some('1');
15    // 打印显示opt的值
16    println!("opt is {:?}", opt);
17
18    // 初始化一个i32类型的变量
19    let some_u8_value = 0i32;
20    // 以下代码行将产生编译错误,因为不能直接对Option<i32>和i32进行加法操作
21    // 编译器不允许像一个肯定有效的值那样使用 Option<T>。
22    // let res = some_u8_value + num;
23}