布爾類型
Rust中的Boolean類型有兩個值:true和false。
類似於if、while等的控制語句以及邏輯運算符|| && !
都需要進行條件判斷,Rust只允許在條件判斷處使用布爾類型。
例如,要判斷x是否等於0,在其他語言中可能允許如下寫法:
#![allow(unused)] fn main() { if x { ... } }
但在Rust中,不允許上面的寫法(除非x的值自身就是true或false)。
Rust中必須得在條件判斷處寫返回值為true/false的表達式。例如寫成如下形式:
#![allow(unused)] fn main() { if x == 0 { ... } }
Rust的布爾值可以使用as操作符轉換為各種數值類型,false對應0,true對應1。但數值類型不允許轉換為bool值。再次提醒,as操作符常用於原始數據類型之間的類型轉換。
fn main() { println!("{}", true as u32); println!("{}", false as u8); // println!("{}", 1_u8 as bool); // 編譯錯誤 }