分支循环

在编写 Go 程序的时候,我们不仅会用前面学到的数据结构来存储数据,还会用到 ifswitchfor 来进行条件判断和流程控制,今天我们就来一起学习下它们。

if

if 主要用于条件判断,语法为:

if 条件 {
  # 业务代码
}

先看一个简单例子:

package main

import "fmt"

func main() {
    age := 7

    if age > 6 {
        fmt.Println("It's primary school")
    }
}

我们可以在条件中使用 &|| 来进行组合判断:

我们还可以使用 if..else if..else 来实现多分支的条件判断:

switch

如果我们的条件分支太多,可以考虑使用 switch 替换 if, 例如:

注意:在 Go 中 switch 只要匹配中了就会中止剩余的匹配项,这和 Java 很大不一样,它需要使用 break 来主动跳出。

switchcase 条件可以是多个值,例如:

注意: 同一个 case 中的多值不能重复。

switch 还可以使用 if..else 作为 case 条件,例如:

小技巧: 使用 switchinterface{} 进行断言,例如:

for

使用 for 来进行循环操作,例如:

使用 for..range 对数组、切片、map、 字符串等进行循环操作,例如:

注意: 这里的 iv 是切片元素的位置索引和值。

注意: 这里的 ivmap 的 一组键值对的键和值。

使用 continuebreak 对循环进行控制,例如:

注意:

  • break 会结束所有循环。

  • continue 会跳过当前循环直接进入下一次循环。

最后更新于

这有帮助吗?