布尔类型

#![allow(unused)]
fn main() {
let b: bool = true;
}

布尔类型bool 是一种原始数据类型,可以取 truefalse 两个值之一。

可以使用关键字 truefalse 创建此类型的值,通过 字面值表达式 生成。

此类型是 语言预定义 的一部分,名称bool

具有布尔类型的对象每个都具有 大小和对齐方式 1 。 值 false 的位表示为 0x00 ,值 true 的位表示为 0x01 。 布尔类型对象的其他任何位表示是 未定义行为

布尔类型是各种 表达式 中许多操作数的类型:

注意: 布尔类型类似于但不是 可枚举类型 。主要区别是构造函数未与类型关联 (比如 bool::true ) 。

与所有原始类型一样,布尔类型 p-impl 实现了 traits CloneCopySizedSendSync

注意: 请参阅 标准库文档 以获取库操作。

布尔值的操作

当使用特定的运算符表达式作为布尔类型的操作数时,根据 [布尔逻辑][boolean logic] 规则进行计算。

逻辑非

b!b
truefalse
falsetrue

逻辑或

aba | b
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

逻辑与

aba & b
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

逻辑异或

aba ^ b
truetruefalse
truefalsetrue
falsetruetrue
falsefalsefalse

比较

aba == b
truetruetrue
truefalsefalse
falsetruefalse
falsefalsetrue
aba > b
truetruefalse
truefalsetrue
falsetruefalse
falsefalsefalse
  • a != b 相同于 !(a == b)
  • a >= b 相同于 a == b | a > b
  • a < b 相同于 !(a >= b)
  • a <= b 相同于 a == b | a < b