Rust中if
并不复杂,但与传统系统语言相比,更像动态类型语言中的if
。我们来介绍一下,让读者可以理解细微差异。
if
是一种一般概念的具体形式:分支。这个名称来自树的分支:这是一个决策点,根据所做的选择,可以选择不同的路径。
就if
而言,一个选择指出两条路:
let x = 5i;
if x == 5i {
println!("x is five!");
}
如果改变x的值,这一行就不会输出。更具体来说,如果if
后面的表达式求值为true
,那这个代码块就会执行。如果是false
,就不会执行。
如果想让在false
的情况下执行点东西,那就使用else
:
let x = 5i;
if x == 5i {
println!("x is five!");
} else {
println!("x is not five!");
}
这是很标准的用法。不过,也可以这么做:
let x = 5i;
let y = if x == 5i {
10i
} else {
15i
}
上面能够(可能也应该)写成这样:
let x = 5i;
let y = if x == 5i { 10i } else { 15i }; // y: int
这里展示了Rust有两点有趣之处:Rust是基于表达式的语言,分号的作用与其他“基于大括号和表达式”的语言不同。表达式和分号是有关联的。
原文地址:http://blog.csdn.net/ucan23/article/details/45716555