Go Boolean Data Types
布尔数据类型表示逻辑实体。它有两个可能的值:true
或 false
。
我们使用 bool
关键字来创建布尔类型的变量。例如,
package main
import "fmt"
func main() {
var boolTrue bool = true
var boolFalse bool = false
fmt.Println("The boolean values are", boolTrue, "and", boolFalse)
}
输出
The boolean values are true and false
Golang 中的关系运算符
我们使用关系运算符来比较两个值或变量。例如,
number1 := 9
number2 := 3
result := number1 > number2
在这里,>
是一个关系(比较)运算符。它比较 number1 是否大于 number2。
关系运算符使用布尔值(true
或 false
)来返回关系的有效性。它返回
- 如果运算符之间的比较是正确的,则返回
true
。 - 如果运算符之间的比较是不正确的,则返回
false
。
Golang 中不同类型的关系运算符
以下是 Go 中可用的各种关系运算符列表
运算符 | 示例 | 描述 |
---|---|---|
== (等于) |
a == b |
如果 a 和 b 相等,则返回 true |
!= (不等于) |
a != b |
如果 a 和 b 不相等,则返回 true |
> (大于) |
a > b |
如果 a 大于 b ,则返回 true |
< (小于) |
a < b |
如果 a 小于 b ,则返回 true |
>= (大于或等于) |
a >= b |
如果 a 大于或等于 b ,则返回 true |
<= (小于或等于) |
a <= b |
如果 a 小于或等于 b ,则返回 true |
示例:Go 中的关系运算符
// Program to illustrate the working of Relational Operators
package main
import "fmt"
func main() {
number1 := 12
number2 := 20
var result bool
// equal to operator
result = (number1 == number2)
fmt.Printf("%d == %d returns %t \n", number1, number2, result)
// not equal to operator
result = (number1 != number2)
fmt.Printf("%d != %d returns %t \n", number1, number2, result)
// greater than operator
result = (number1 > number2)
fmt.Printf("%d > %d returns %t \n", number1, number2, result)
// less than operator
result = (number1 < number2)
fmt.Printf("%d < %d returns %t \n", number1, number2, result)
}
输出
12 == 20 returns false 12 != 20 returns true 12 > 20 returns false 12 < 20 returns true
Go 中的逻辑运算符
逻辑运算符根据条件返回 true
或 false
。
运算符 | 描述 | 示例 |
---|---|---|
&& (逻辑 AND) |
exp1 && exp2 |
如果表达式 exp1 和 exp2 都为 true ,则返回 true |
|| (逻辑 OR) |
exp1 || exp2 |
如果其中任何一个表达式为 true ,则返回 true 。 |
! (逻辑 NOT) |
!exp |
如果 exp 为 false ,则返回 true ;如果 exp 为 true ,则返回 false 。 |
示例:Go 中的逻辑运算符
// Program to illustrate the working of Logical Operator
package main
import "fmt"
func main() {
number1 := 6
number2 := 12
number3 := 6
var result bool
// returns false because number1 > number2 is false
result = (number1 > number2) && (number1 == number3)
fmt.Printf("Result of AND operator is %t \n", result)
// returns true because number1 == number3 is true
result = (number1 > number2) || (number1 == number3)
fmt.Printf("Result of OR operator is %t \n", result)
// returns false because number1 == number3 is true
result = !(number1 == number3);
fmt.Printf("Result of NOT operator is %t \n", result)
}
输出
Result of AND operator is false Result of OR operator is true Result of NOT operator is false
Go 布尔表达式
在编程中,返回布尔值:true
或 false
的表达式称为布尔表达式。例如,
number1 := 5
number2 := 8
result := number1 > number2
在这里,number1 > number2
是一个布尔表达式,返回 false
。
为什么是布尔表达式?
布尔表达式用于创建决策制定程序。假设我们想创建一个程序来确定一个人是否可以投票。
我们可以使用布尔表达式检查该人的年龄是否大于 18。如果为 true,则该人可以投票。如果为 false,则不能投票。
我们将在 Go if...else 中了解更多关于这些决策制定程序的信息。