Rust中if-let 和while-let

Rust編程中可能會遇到像下面這樣的代碼塊

let x = Some(5);
match x {
    Some(_)  => {do_something();},
    None      => {}
}

可以看到None對應的分支沒有任何動作,代碼看起來不夠緊湊優雅,我們可以使用if-let語句進行改寫:

let x = Some(5);
if let Some(_) = x {
   do_something()
}

這樣寫出來代碼看起來會緊湊很多,不必使用match語句。if-let 語句的范式為:

if  let pattern = expression {
    do_something()
} else {
    other()
}

while-let語句也遵循同樣的范式:

while let pattern = expression {
    do_something()
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 通用編程概念 變量與可變性 變量默認不可變,如需要改變,可在變量名前加 mut 使其可變。例如:let mut a...
    soojade閱讀 12,605評論 2 30
  • 2014年的蘋果全球開發者大會(WWDC),當Craig Federighi向全世界宣布“We have new ...
    yeshenlong520閱讀 2,312評論 0 9
  • http://python.jobbole.com/85231/ 關于專業技能寫完項目接著寫寫一名3年工作經驗的J...
    燕京博士閱讀 7,631評論 1 118
  • 來拿坡里的第二天,古跡名勝看得差不多了,吃過晚飯,日近黃昏,周遭事物加了濾鏡似的一點點昏黃下來。踅出小巷子,沿臟亂...
    李澤賢閱讀 410評論 5 1
  • 灰叔漫畫閱讀 1,178評論 17 39