視頻地址
頭條地址: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>
閱讀更多 令狐一衝a 的文章