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。