布尔类型
#![allow(unused)] fn main() { let b: bool = true; }
布尔类型 或 bool 是一种原始数据类型,可以取 true 和 false 两个值之一。
可以使用关键字 true 和 false 创建此类型的值,通过 字面值表达式 生成。
具有布尔类型的对象每个都具有 大小和对齐方式 1 。
值 false 的位表示为 0x00 ,值 true 的位表示为 0x01 。
布尔类型对象的其他任何位表示是 未定义行为 。
布尔类型是各种 表达式 中许多操作数的类型:
- if 表达式 和 while 表达式 中的条件操作数
 - 惰性布尔运算符表达式 中的操作数
 
注意: 布尔类型类似于但不是 可枚举类型 。主要区别是构造函数未与类型关联 (比如
bool::true) 。
与所有原始类型一样,布尔类型 p-impl 实现了 traits Clone , Copy , Sized , Send 和 Sync 。
注意: 请参阅 标准库文档 以获取库操作。
布尔值的操作
当使用特定的运算符表达式作为布尔类型的操作数时,根据 [布尔逻辑][boolean logic] 规则进行计算。逻辑非
b | !b | 
|---|---|
true | false | 
false | true | 
逻辑或
a | b | a | b | 
|---|---|---|
true | true | true | 
true | false | true | 
false | true | true | 
false | false | false | 
逻辑与
a | b | a & b | 
|---|---|---|
true | true | true | 
true | false | false | 
false | true | false | 
false | false | false | 
逻辑异或
a | b | a ^ b | 
|---|---|---|
true | true | false | 
true | false | true | 
false | true | true | 
false | false | false | 
比较
a | b | a == b | 
|---|---|---|
true | true | true | 
true | false | false | 
false | true | false | 
false | false | true | 
a | b | a > b | 
|---|---|---|
true | true | false | 
true | false | true | 
false | true | false | 
false | false | false | 
a != b相同于!(a == b)a >= b相同于a == b | a > ba < b相同于!(a >= b)a <= b相同于a == b | a < b