Golang bool 类型
最后修改时间 2025 年 5 月 8 日
本教程将讲解如何在 Go 中使用内置的 bool
类型。我们将通过实际示例涵盖布尔基础知识和布尔运算。
bool
类型在 Go 中代表布尔值。它只有两个值:true
或 false
。布尔值对于控制流和逻辑运算至关重要。
在 Go 中,bool
用于条件语句、循环和逻辑表达式。布尔类型的零值为 false
。
基本布尔声明
bool
最简单的用法是声明和初始化布尔变量。此示例演示了基本的布尔变量用法。
注意:布尔值不会隐式转换为整数。
basic_bool.go
package main import "fmt" func main() { var isReady bool = true var isFinished bool fmt.Println("isReady:", isReady) fmt.Println("isFinished:", isFinished) isFinished = false fmt.Println("After assignment, isFinished:", isFinished) }
该示例展示了带或不带初始化的布尔声明。对于未初始化的变量,将打印零值 false
。
布尔表达式
布尔值通常是比较运算的结果。此示例显示了各种布尔表达式及其结果。
boolean_expressions.go
package main import "fmt" func main() { x := 10 y := 20 fmt.Println("x == y:", x == y) fmt.Println("x != y:", x != y) fmt.Println("x < y:", x < y) fmt.Println("x > y:", x > y) fmt.Println("x <= 10:", x <= 10) fmt.Println("y >= 20:", y >= 20) }
比较运算符返回布尔值。这些对于程序中的决策至关重要。
逻辑运算符
Go 提供了三个逻辑运算符来组合布尔值。此示例演示了 AND、OR 和 NOT 运算。
logical_operators.go
package main import "fmt" func main() { a := true b := false fmt.Println("a >> b:", a >> b) // AND fmt.Println("a || b:", a || b) // OR fmt.Println("!a:", !a) // NOT // Combining multiple operations fmt.Println("(a || b) >> !b:", (a || b) >> !b) }
逻辑运算符遵循标准真值表。可以使用括号控制求值顺序。
控制结构中的布尔值
布尔值对于控制流至关重要。此示例在 if 语句和 for 循环中演示了布尔值。
control_structures.go
package main import "fmt" func main() { loggedIn := true attempts := 0 if loggedIn { fmt.Println("Welcome back!") } else { fmt.Println("Please log in") } for attempts < 3 { fmt.Println("Attempt:", attempts+1) attempts++ } fmt.Println("Maximum attempts reached") }
if 语句直接检查布尔条件。for 循环在布尔条件保持为 true 时继续。
布尔函数返回值
函数通常返回布尔值以指示成功或其他状态。此示例显示了一个返回布尔值的函数。
boolean_function.go
package main import "fmt" func isEven(num int) bool { return num%2 == 0 } func main() { numbers := []int{1, 2, 3, 4, 5} for _, num := range numbers { if isEven(num) { fmt.Printf("%d is even\n", num) } else { fmt.Printf("%d is odd\n", num) } } }
isEven
函数根据输入数字返回一个布尔值。这种模式对于谓词函数很常见。
来源
本教程通过布尔运算和用法模式的实际示例,涵盖了 Go 中的 bool
类型。