Skip to content

Switch 条件判断

Updated View as Markdown

引入

示例

如下方:

func main() {
    var i int = 1

    switch i {
        case 1:
        fmt.Println("i is 1")
        case 2:
        fmt.Println("i is 2")
        default:
        fmt.Println("i is not 1 or 2")
    }
}

在这里,变量 i 被 switch 语句进行判断,其执行过程如下:

flowchart TD
    Start([开始]) --> Init[i := 1]
    Init --> Switch{switch i}
    Switch -->|case 1| Print1["fmt.Println('i is 1')"]
    Switch -->|case 2| Print2["fmt.Println('i is 2')"]
    Switch -->|default| PrintDefault["fmt.Println('i is not 1 or 2')"]
    Print1 --> End([结束])
    Print2 --> End
    PrintDefault --> End

fallthrough 的使用

Go 的 switch 默认匹配到 case 执行后自动退出。加上 fallthrough 后,会强制执行下一个 case 的代码块(且不判断下一个 case 的条件)。

Navigation

Type to search…

↑↓ navigate↵ selectEsc close