4.6. 分支语句

分支语句常用于替代多重条件语句,一般形式为:

    switch 初始语句, 条件表达式 {
    case 分支表达式1:
        代码块1

    case 分支表达式2:
        代码块2

    default:
        默认代码块
    }

分支语句首先会执行可选的 初始语句初始语句, 可省略,此时表示没有初始动作),然后从上至下判断 条件表达式 的值是否与某条 分支表达式 相等,若相等,则执行对应分支的 代码块;若所有分支条件均不满足,则执行可选的 默认代码块(省略 default 分支表示没有默认代码块)。例如:

func f(x: int) {
    switch x {
    case 0:
        println("x 为 0")

    case 1:
        println("x 为 1")

    default:
        println("x ==", x)
    }
}

注意凹语言中分支语句默认跳出:进入某个分支,执行完对应代码块后,将直接跳出分支语句(既隐式break),这与 C系语言的默认行为相反。

分支语句另一个特殊的用于类型断言的用法见 7.1节。