2017-04-11 52 views

回答

9

對於你的榜樣,正確的問題是:「你會的價值y如果x不是5?「。這裏會發生什麼?

let x = 3; 
let y = if x == 5 { 10 }; 
println!("{}", y); // what?! 

,你可能認爲如果 - 不 - 其他人表達可能返回Option<_>,但是...

  1. 這將意味着核心語言依賴於另一個庫項目(這些都是然後叫郎項),每個人都試圖避免
  2. 你就不會遇到這種情況往往
  3. 您可以通過添加唯一的代碼一點點獲得相同的行爲(Some() & else { None }

生鏽,幾乎一切都是表達式(與let -Bindings,並以分號結束表情異常,所謂表達式語句)。有幾個表達式的例子總是返回(),因爲沒有別的意義。這些包括(複合)分配(why?),循環和if-without-else。

相關問題