布尔类型
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); // 编译错误 }