Golang 第三章 4.布尔类型
在 Go 语言中,**布尔类型(boolean)**只有两个可能的值:
true
false布尔值通常用于:
- 条件判断
- 逻辑运算
- 控制程序流程
布尔变量
声明布尔变量:
var b bool默认值是:
false示例:
var flag bool
fmt.Println(flag)输出:
false布尔表达式
布尔值通常由 比较运算产生。
例如:
x := 5y := 10
fmt.Println(x < y)输出:
true比较运算符
Go 支持以下比较运算:
| 运算符 | 含义 |
|---|---|
== | 等于 |
!= | 不等于 |
< | 小于 |
> | 大于 |
<= | 小于等于 |
>= | 大于等于 |
示例:
fmt.Println(5 == 5) // true
fmt.Println(5 != 3) // true
fmt.Println(5 > 10) // false逻辑运算符
Go 有三个逻辑运算符:
| 运算符 | 含义 |
|---|---|
&& | 逻辑与 |
| ` | |
! | 逻辑非 |
示例:
x := truey := false
fmt.Println(x && y)
fmt.Println(x || y)
fmt.Println(!x)输出:
false
true
false短路计算(Short-circuit)
逻辑运算支持 短路计算。
例如:
if x != 0 && y/x > 10 {
fmt.Println("ok")
}如果:
x == 0第二个条件:
y/x不会执行,避免除零错误。
布尔函数示例
func isAdult(age int) bool {
return age >= 18
}调用:
fmt.Println(isAdult(20))输出:
true复杂逻辑示例
age := 20
vip := true
if age >= 18 && vip {
fmt.Println("允许进入")
}Go 没有自动类型转换
Go 不会把整数当作布尔值。
例如:
错误写法:
if x {}必须写成:
if x != 0 {}总结
Go 的布尔类型特点:
| 特性 | 说明 |
|---|---|
| 类型 | bool |
| 值 | true / false |
| 默认值 | false |
| 运算符 | && ` |
| 比较运算 | == != < > <= >= |
| 不允许 | 数字自动转 bool |



评论