2017-04-11 47 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。

相关问题