条件语句
语法:
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两 边的函数体表达式的类型必须一样