在 Rust 中,布尔值是一种基本数据类型,用于表示逻辑真或假。它只有两个可能的值:true 和
false。布尔值在条件语句、循环和逻辑运算中扮演着核心角色,是 Rust 编程的基础之一。
布尔类型
Rust 的布尔类型使用关键字 bool 来声明。你可以直接赋值布尔字面量,或通过表达式生成布尔值。
let is_rust_fun: bool = true;
let is_raining = false;
println!("Is Rust fun? {}", is_rust_fun);
println!("Is it raining? {}", is_raining);
// 输出: Is Rust fun? true
// 输出: Is it raining? false
注意:Rust 是强类型语言,布尔值不能隐式转换为整数或其他类型。例如,你不能直接写
if 1,而必须使用布尔表达式如 if 1 > 0。
布尔运算
Rust 支持标准的逻辑运算符:&&(逻辑与)、||(逻辑或)和
!(逻辑非)。这些运算符用于组合布尔值,常用于条件判断。下面的代码演示了这些运算符的用法。
let a = true;
let b = false;
println!("a && b: {}", a && b); // 输出: false
println!("a || b: {}", a || b); // 输出: true
println!("!a: {}", !a); // 输出: false
这些运算符遵循短路求值规则:对于 &&,如果第一个操作数为 false,则不会评估第二个操作数;对于
||,如果第一个操作数为 true,则不会评估第二个操作数。
| 运算符 | 描述 | 示例 |
|---|---|---|
&& |
逻辑与 | true && false 返回 false |
|| |
逻辑或 | true || false 返回 true |
! |
逻辑非 | !true 返回 false |
== |
等于 | 5 == 5 返回 true |
!= |
不等于 | 5 != 3 返回 true |
比较运算符生成布尔值
比较运算符如
==(等于)、!=(不等于)、<(小于)、>(大于)等,会返回布尔值。这些在控制流中非常有用。例如,检查一个数字是否为正数。
let num = 5;
let is_positive = num > 0;
println!("Is {} positive? {}", num, is_positive);
// 输出: Is 5 positive? true
注意:在 Rust 中,比较运算符要求操作数类型相同。例如,不能直接比较整数和浮点数,必须先进行类型转换。
布尔值在控制流中的应用
布尔值常用于 if 语句、while 循环和
match 表达式中。
let mut count = 0;
let mut continue_loop = true;
while continue_loop {
count += 1;
println!("Count: {}", count);
if count >= 3 {
continue_loop = false;
}
}
// 输出: Count: 1
// 输出: Count: 2
// 输出: Count: 3
if、while、match具体的用法,请参考具体章节。