Skip to content

第二章 流程控制语句 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 判断条件 {  //判断条件不写默认为真
  执行语句
}

二、跳转语句

  1. break语句: 用于跳出终止最内层的 for 循环。

    go
    for i := 0; i < 10; i++ {
        if i == 5 {
            break
        }
        fmt.Println(i)
    }
  2. continue语句: 用于跳过当前循环的剩余部分,并开始下一次循环迭代

    go
    for i := 0; i < 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Println(i)
    }
  3. goto语句(一般不用): 无条件跳转到程序中的指定标签

    go
    func main() {
        i := 0
        Here:
        fmt.Println(i)
        i++
        if i < 5 {
            goto Here  // 跳转到Here标签
        }
    }