四.程序分支
1.for
语句:
for
语句是 Go 语言中最常用的循环结构。它的一般形式是:
for 初始语句; 条件语句; 后续语句 {
// 循环体
}
初始语句
在循环开始前执行一次,通常用于初始化循环变量。条件语句
在每次循环迭代前进行判断,只要条件为真,循环就会继续执行。后续语句
在每次循环迭代结束后执行,通常用于更新循环变量。循环体是被重复执行的代码块。
Go 语言中没有专门的 while
关键字,但可以使用 for
语句实现类似的效果。例如,以下是一个使用 for
语句实现的 while
循环:
for 条件语句 {
// 循环体
}
条件语句为真时,循环体将一直被执行,直到条件为假才停止。
2.switch
语句:
switch
语句用于根据不同的条件执行不同的代码块。它的一般形式如下:
switch 表达式 {
case 表达式1:
// 执行代码块1
case 表达式2:
// 执行代码块2
...
default:
// 执行默认代码块
}
switch
后面的表达式的值将与每个 case
后的表达式进行比较,匹配时执行对应的代码块。如果没有匹配的 case
,将执行 default
代码块(可选)。
3.fallthrough
关键字
是 Go 语言中用于在 switch
语句中控制代码流向的关键字。
在 switch
语句中,每个 case
后面的代码块执行完毕后,默认情况下程序会自动跳出 switch
语句,不再执行其他的 case
。然而,如果在某个 case
的代码块末尾使用了 fallthrough
关键字,程序将会继续执行下一个 case
的代码块,而不进行条件判断。
以下是一个示例,展示了 fallthrough
的使用方式:
package main
import "fmt"
func main() {
num := 2
switch num {
case 1:
fmt.Println("这是1")
case 2:
fmt.Println("这是2")
fallthrough
case 3:
fmt.Println("这是3")
default:
fmt.Println("这是默认的情况")
}
}
在上述代码中,当 num
的值为 2 时,首先会执行 case 2
的代码块,打印出"这是2"。然后,由于在 case 2
的代码块末尾使用了 fallthrough
,程序会继续执行下一个 case
,即 case 3
的代码块,打印出"这是3"。如果没有使用 fallthrough
,程序将会跳出 switch
语句,不执行后续的 case
。
需要注意的是,fallthrough
只能用在 case
的代码块中,不能用在 default
块中,也不能在 switch
语句的最后使用。此外,如果在某个 case
中使用了 fallthrough
,但该 case
不是最后一个 case
,那么在执行完该 case
的代码块后,程序会继续执行下一个 case
,无论下一个 case
的条件是否匹配。