语法:
if <condition> { block 1 } else { block 2 }
fn main() {
let a = 12;
let b;
if a > 0 { // 条件语句的括号是可选的, 且条件表达式必须是 bool类型
b = 1; // Rust中的if不存在单语句不用加{}的规则, 不允许使用一个语句代替一个块
}
else if a < 0 { //Rust支持传统 else-if 语法
b = -1;
}
else {
b = 0;
}
println!("b is {}", b);
}
注意:C/C++语言中的条件表达式用整数表示,非0即真, 但这个规则在很多注重代码安全性的语言中是被禁止的
if语句中, else两边的语句块{block 1}和{block 2}可以当成是函数体表达式
因此,if-else可以当成是实现类似于三元条件运算表达式 (A ? B : C)
//以下两个语句是等价的
let number;
if a > 0 { number = 1 } else { number = -1 };
let number = if a > 0 { 1 } else { -1 };
注意:else两 边的函数体表达式的类型必须一样