在 Rust 中,布尔值是一种基本数据类型,用于表示逻辑真或假。它只有两个可能的值:truefalse。布尔值在条件语句、循环和逻辑运算中扮演着核心角色,是 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

ifwhilematch具体的用法,请参考具体章节。