條件語句
阿新 • • 發佈:2020-07-31
語法:
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兩 邊的函式體表達式的型別必須一樣