頭條地址:https://www.ixigua.com/i676544267458235648...
B站地址:https://www.bilibili.com/video/av78062009?...
網易雲課堂地址:https://study.163.com/course/introduction....
1、Option 是標準庫定義的一個列舉。
enum Option<T> {
Some(T),
None,
}
2、使用例子
let some_number = Some(5);
let some_string = Some("a string");
let absent_number: Option<i32> = None;
let x: i8 = 5;
let y: Option<i8> = Some(5);
let sum = x + y; //error,因為型別不一樣
3、使用Option主要是用來對空值進行處理的,在rust裡面就必須將空值放入Option,因此能減少bug
4、匹配
fn plus_one(x: Option<i32>) -> Option<i32> {
match x {
None => None,
Some(i) => Some(i + 1),
}
}
let five = Some(5);
let six = plus_one(five);
let none = plus_one(None);
以下程式碼錯誤,因為匹配沒有處理完
fn plus_one(x: Option<i32>) -> Option<i32> {
match x {
Some(i) => Some(i + 1),
}
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結