Go 布尔值(关系运算符和逻辑运算符)

Go Boolean Data Types

布尔数据类型表示逻辑实体。它有两个可能的值:truefalse

我们使用 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

关系运算符使用布尔值(truefalse)来返回关系的有效性。它返回

  • 如果运算符之间的比较是正确的,则返回 true
  • 如果运算符之间的比较是不正确的,则返回 false

Golang 中不同类型的关系运算符

以下是 Go 中可用的各种关系运算符列表

运算符 示例 描述
== (等于) a == b 如果 ab 相等,则返回 true
!= (不等于) a != b 如果 ab 不相等,则返回 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 中的逻辑运算符

逻辑运算符根据条件返回 truefalse

运算符 描述 示例
&& (逻辑 AND) exp1 && exp2 如果表达式 exp1exp2 都为 true,则返回 true
|| (逻辑 OR) exp1 || exp2 如果其中任何一个表达式为 true,则返回 true
! (逻辑 NOT) !exp 如果 expfalse,则返回 true;如果 exptrue,则返回 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 布尔表达式

在编程中,返回布尔值:truefalse 的表达式称为布尔表达式。例如,

number1 := 5
number2 := 8

result := number1 > number2

在这里,number1 > number2 是一个布尔表达式,返回 false

为什么是布尔表达式?

布尔表达式用于创建决策制定程序。假设我们想创建一个程序来确定一个人是否可以投票。

我们可以使用布尔表达式检查该人的年龄是否大于 18。如果为 true,则该人可以投票。如果为 false,则不能投票。

我们将在 Go if...else 中了解更多关于这些决策制定程序的信息。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战