Golang 分支语句:if、else、switch
1. if 语句
if 语句是一个条件语句,可以用来根据条件执行不同的代码块。if 语句的语法格式如下:
if condition {
// 符合条件的代码块
} else if condition2 {
// 符合条件2的代码块
} else {
// 不符合任何条件的代码块
}
其中,condition 和 condition2 都是要进行判断的条件,可以是一个布尔表达式、一个函数返回值等。如果 condition 为 true,则执行第一个代码块;如果 condition 为 false,但是 condition2 为 true,则执行第二个代码块;如果以上两个条件都不满足,则执行 else 代码块。
需要注意的是,if 条件语句中的 condition 表达式不一定是布尔类型,也可以是一个函数调用、一个变量、一个常量、一个算术表达式等。
例如:
num := 10
if num > 5 {
fmt.Println("num > 5")
} else {
fmt.Println("num <= 5")
}
输出结果为:
num > 5
2. else 语句
else 语句用于表示当 if 条件为 false 时要执行的代码块。如果 if 条件成立,则 else 代码块不会被执行。else 语句的语法格式如下:
if condition {
// 符合条件的代码块
} else {
// 不符合条件的代码块
}
例如:
num := 10
if num > 20 {
fmt.Println("num > 20")
} else {
fmt.Println("num <= 20")
}
输出结果为:
num <= 20
3. else if 语句
else if 语句用于表示多个条件分支,当 if 条件不成立时,会依次检查 else if 语句,直到找到符合条件的分支为止。else if 语句的语法格式如下:
if condition1 {
// 符合条件1的代码块
} else if condition2 {
// 符合条件2的代码块
} else {
// 不符合任何条件的代码块
}
例如:
num := 10
if num > 20 {
fmt.Println("num > 20")
} else if num > 10 {
fmt.Println("num > 10")
} else {
fmt.Println("num <= 10")
}
输出结果为:
num > 10
需要注意的是,如果多个条件都成立,则只会执行第一个成立的代码块。因此,在使用 else if 语句时,应该把最可能成立的条件放在最前面。
4. switch 语句
switch 语句是一种多路分支语句,用于根据不同的条件执行不同的代码块。switch 语句的语法格式如下:
switch expression {
case option1:
// 符合 option1 的代码块
case option2:
// 符合 option2 的代码块
...
default:
// 不符合任何 option 的代码块
}
其中,expression 是一个表达式,而 option 则是一个常量或者值,可以有多个 option。当 switch 表达式的值与某个 option 的值相等时,就会执行相应的代码块。
例如:
num := 2
switch num {
case 1:
fmt.Println("num is 1")
case 2:
fmt.Println("num is 2")
default:
fmt.Println("num is not 1 or 2")
}
输出结果为:
num is 2
需要注意的是,switch 语句还可以不带表达式,此时相当于 switch true,可以根据条件来执行不同的代码块。
例如:
num := 10
switch {
case num > 20:
fmt.Println("num > 20")
case num > 10:
fmt.Println("num > 10")
default:
fmt.Println("num <= 10")
}
输出结果为:
num <= 10
以上就是对 Golang 分支语句 if、else、switch 的详细介绍,希望对你有所帮助。