在计算机编程中,我们使用 if 语句来仅在满足特定条件时执行代码块。
例如,根据学生获得的分数分配等级(A、B、C)。
- 如果百分比高于 90,则分配成绩 A
- 如果百分比高于 75,则分配成绩 B
- 如果百分比高于 65,则分配成绩 C
Go if 语句
Go 编程中 if
语句的语法是:
if test_condition {
// code
}
如果 test_condition 的计算结果为
true
- 则执行if
主体内的语句。false
- 则不执行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
内的代码

示例: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
此时 number 为 10,因此测试条件 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 2
和code block 3
如果 test_condition2 的计算结果为 true
- 则执行
code block 2
- 则跳过
code block 1
和code block 3
如果两个测试条件都计算为 false
- 则执行
code block 3
- 则跳过
code block 1
和code block 2

示例: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 == number2
和 number1 > 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 >= number2
为 true
,
- 则检查内部
if
条件number1 == number2
。 - 如果条件为
true
,则执行内部if
的代码。 - 如果条件为
false
,则执行内部else
的代码。
如果外部条件为 false
,则执行外部 else
语句。