3
從這個tutorial:爲什麼if沒有else會導致()作爲值?
的,如果沒有一個else總是導致()作爲值。
爲什麼鏽強加這個限制,並且不允許的if
沒有else
返回的其他值,如:
let y = if x == 5 { 10 };
從這個tutorial:爲什麼if沒有else會導致()作爲值?
的,如果沒有一個else總是導致()作爲值。
爲什麼鏽強加這個限制,並且不允許的if
沒有else
返回的其他值,如:
let y = if x == 5 { 10 };
對於你的榜樣,正確的問題是:「你會的價值y
如果x
不是5?「。這裏會發生什麼?
let x = 3;
let y = if x == 5 { 10 };
println!("{}", y); // what?!
,你可能認爲如果 - 不 - 其他人表達可能返回Option<_>
,但是...
Some()
& else { None }
)生鏽,幾乎一切都是表達式(與let
-Bindings,並以分號結束表情異常,所謂表達式語句)。有幾個表達式的例子總是返回()
,因爲沒有別的意義。這些包括(複合)分配(why?),循環和if-without-else。