Rust 程式設計視訊教程對應講解內容-Option

linghuyichong發表於2020-01-05

頭條地址: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 協議》,轉載必須註明作者和本文連結

令狐一衝

相關文章