02.26 Rust 編程(進階)——023 模式的 refutability 和 irrefutable

視頻地址

頭條地址:https://www.ixigua.com/i6775861706447913485

源碼地址

見擴展鏈接。

講解內容

1、模式有兩種:refutable(可反駁的)和 irrefutable(不可反駁的)。能匹配任何傳遞的可能值的模式被稱為是不可反駁的。對值進行匹配可能會失敗的模式被稱為可反駁的。

2、只能接受不可反駁模式的有:函數、let語句、for循環。原因:因為通過不匹配的值程序無法進行有意義的工作。

3、if let和while let表達式被限制為只能接受可反駁的模式,因為它們的定義就是為了處理有可能失敗的條件。

4、例子:

<code>let a: Option = Some(5);let Some(x) = some_option_value; //失敗,因為let是不可反駁的,                                 //要匹配傳遞的所有的值,這裡無法匹配None的情況if let x = 5 { //錯誤,if let接受可反駁的    println!("x = {}", x);}/<code>



分享到:


相關文章: