第二章 流程控制语句 v1.0
第一部分 条件结构
一、if语句
go
if 判断条件 { //注意:此处没有括号
执行语句
} else if [初始化表达式;]判断条件 {
执行语句
} else {
执行语句
} //初始化表达式可以使用":="初始化一个局部变量
go
if 初始化表达式;判断条件 {
执行语句
} else {
执行语句
}
二、switch语句
注意:Go语言中switch语句不需要break,执行语句后会自动跳出,使用
fallthrough
关键字可以重新强制执行下一个case代码块
go
switch 变量名 { //标准结构
case 变量值:
执行语句
case 变量值1, 变量值2, ...: // 多条件,符合一个即执行语句
执行语句
default:
执行语句
}
go
switch { //Go语言特殊结构
case 判断条件:
执行语句
default:
执行语句
}
go
func main() {
x := 1
switch x {
case 1:
fmt.Println("One")
fallthrough
case 2:
fmt.Println("Two")
default:
fmt.Println("Other")
}
} // 输出:One\nTwo
第二部分 循环结构
一、for循环
go
for n:=0 ; n<10 ; n++ {
执行语句
}
go
for i := range 待遍历切片 {
执行语句
}
for i,j := range 待遍历字典 {
执行语句
}
go
for 判断条件 { //判断条件不写默认为真
执行语句
}
二、跳转语句
break
语句: 用于跳出终止最内层的 for 循环。gofor i := 0; i < 10; i++ { if i == 5 { break } fmt.Println(i) }
continue
语句: 用于跳过当前循环的剩余部分,并开始下一次循环迭代gofor i := 0; i < 10; i++ { if i%2 == 0 { continue } fmt.Println(i) }
goto
语句(一般不用): 无条件跳转到程序中的指定标签gofunc main() { i := 0 Here: fmt.Println(i) i++ if i < 5 { goto Here // 跳转到Here标签 } }