Go if else

在计算机编程中,我们使用 if 语句来仅在满足特定条件时执行代码块。

例如,根据学生获得的分数分配等级(A、B、C)

  • 如果百分比高于 90,则分配成绩 A
  • 如果百分比高于 75,则分配成绩 B
  • 如果百分比高于 65,则分配成绩 C

Go if 语句

Go 编程中 if 语句的语法是:

if test_condition {
   // code
}

如果 test_condition 的计算结果为

  • true - 则执行 if 主体内的语句。
  • false - 则不执行 if 主体内的语句。
Working of if statement in Go programming
Go 编程中 if 语句的工作原理

示例:Golang 中的简单 if 语句

// Program to display a number if it is positive

package main
import "fmt"

func main() {
  number := 15

  // true if number is less than 0
  if number > 0 {
    fmt.Printf("%d is a positive number\n", number)
  }

  fmt.Println("Out of the loop")
}

输出

15 is a positive number
Out of the loop

在上面的示例中,我们创建了一个名为 number 的变量。请注意条件:

number > 0

这里,由于变量 number 大于 0,因此该条件计算为 true

如果我们更改变量为一个负整数。假设为 -5

number := -5

现在,当我们运行程序时,输出将是:

Out of the loop

这是因为 number 的值小于 0。因此,该条件计算为 false。并且,if 块的主体被跳过。


Go if...else 语句

if 语句可以有一个可选的 else 块。if..else 语句的语法是:

if test_condition {
    // run code if test_condition is true
} else {
    // run code if test_condition is false
}

如果 test_condition 的计算结果为 true

  • 则执行 if 内的代码
  • 则跳过 else 内的代码

如果 test_condition 的计算结果为 false

  • 则执行 else 内的代码
  • 则跳过 if 内的代码
Working of if...else in Go programming
Go 编程中 if...else 的工作原理

示例:Golang 中的 if...else 语句

package main
import "fmt"

func main() {
  number := 10

  // checks if number is greater than 0
  if number > 0 {
    fmt.Printf("%d is a positive number\n", number)
  } else {
    fmt.Printf("%d is a negative number\n", number)
  }
}

输出

10 is a positive number

此时 number10,因此测试条件 number > 0 的计算结果为 true。因此,执行 if 主体内的语句。

如果我们更改变量为一个负整数。假设为 -5

number := -5

现在,如果我们运行程序,输出将是:

-5 is a negative number

这里,测试条件计算为 false。因此,执行 else 主体内的代码。

注意else 语句必须与 if 语句结束在同一行。


Go if...else if 级联

if...else 语句用于在两个备选项中执行一段代码。

但是,如果您需要在两个以上的选项之间进行选择,则使用 else if 语句。

if test_condition1 {
   // code block 1
} else if test_condition2 {
   // code block 2
}.
.
.
} else {
   // code block 3
}

这里,

如果 test_condition1 的计算结果为 true

  • 则执行 code block 1
  • 则跳过 code block 2code block 3

如果 test_condition2 的计算结果为 true

  • 则执行 code block 2
  • 则跳过 code block 1code block 3

如果两个测试条件都计算为 false

  • 则执行 code block 3
  • 则跳过 code block 1code block 2
Working of if.. else if..else in Go programming.
Go 编程中 if.. else if..else 的工作原理。

示例:Golang 中的 if...if else 级联语句

// Program to relate two integers using =, > or < symbol

package main
import "fmt"

func main() {

  number1 := 12
  number2 := 20

  if number1 == number2 {
    fmt.Printf("Result: %d == %d", number1, number2)
  } else if number1 > number2 {
    fmt.Printf("Result: %d > %d", number1, number2)
  } else {
    fmt.Printf("Result: %d < %d", number1, number2)     
  }
}

输出

Result: 12 < 20

这里,测试条件 number1 == number2number1 > number2 都为 false。因此,执行 else 块中的代码。


Go 嵌套 if 语句

您也可以在一个 if 语句内使用另一个 if 语句。这称为嵌套 if 语句。

// outer if statement
if test_condition1 {
  // statements

  // inner if...else statement
  if test_condition2 {
    // statements
  }else {
    // statements
  }
}

示例:Golang 中的嵌套 if 语句

package main
import "fmt"

func main() {

  number1 := 12
  number2 := 20

  // outer if statement
  if number1 >= number2 {

  // inner if statement
  if number1 == number2 {
    fmt.Printf("Result: %d == %d", number1, number2)
    // inner else statement
  } else {
    fmt.Printf("Result: %d > %d", number1, number2)
  } 

  // outer else statement
  } else {
    fmt.Printf("Result: %d < %d", number1, number2)
  }
}

输出

Result: 12 < 20

如果外部条件 number1 >= number2true

  • 则检查内部 if 条件 number1 == number2
  • 如果条件为 true,则执行内部 if 的代码。
  • 如果条件为 false,则执行内部 else 的代码。

如果外部条件为 false,则执行外部 else 语句。

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

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

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

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