- 布尔值是以数学家George Boole命名
- 编程中使用布尔值进行比较或控制流程,布尔值表示与数学逻辑分支相关的真值。
- 计算机中布尔类型值常用于条件判断的逻辑,逻辑值只有两种分别为真和假。
逻辑值
Golang中以bool
类型声明布尔型数据,布尔型数据只有true
和false
两个常量值。
逻辑值 | 描述 |
---|---|
true | 真 |
false | 假 |
- 布尔类型变量的默认值为
false
var flag bool
fmt.Printf("flag = %v, type = %T\n", flag, flag)//flag = false, type = bool
- 布尔类型会占用1个字节的存储存储空间
var flag bool
fmt.Printf("flag = %v, type = %T, size = %d\n", flag, flag, unsafe.Sizeof(flag)) //flag = false, type = bool, size = 1
- Golang禁止将整型强制转换为布尔型
- 布尔型无法参与数值运算,也无法与其他类型进行转换。
逻辑运算
Golang布尔类型适用于逻辑运算,一般用于程序的流程控制和条件判断。
值比较时只有两个相同类型的值才能比较,若不满足则必须将其中一个值转换为另一个值相同的类型后才能进行比较。
布尔值可以和逻辑运算符结合使用,且具有短路行为,若逻辑运算符左边的值已确定整个布尔表达式的值,那么右边的值将不再运算。
逻辑运算符 | 符号 | 描述 | 优先级 |
---|---|---|---|
AND | && | 与 | 2 |
OR | || | 或 | 3 |
NOT | ! | 非 | 1 |
布尔值不会隐式转换为数值0或1,禁止将整型强制转换为布尔型,因此布尔值无法参与数值运算,也无法与其他类型进行转换。
有疑问加站长微信联系(非本文作者)