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}