Go之旅-Switch

作者: frankphper | 来源:发表于2017-03-25 21:00 被阅读0次

    switch支持初始化语句,注意要用分号结束。后跟条件表达式,如果省略条件表达式,默认为true。不需要显式执行break语句,case执行完毕后自动中断。多个匹配条件,其中一个条件符合即可。case执行中断后,如果需要继续执行下一个case块的内容,在下一个case块结尾执行fallthrough并且可以在fallthrough前使用break语句阻止。但不继续后续case块。

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        // 简单声明几个变量
        a, b, c, d := 1, 2, 3, 4
        switch x := 2; x { // switch支持初始化语句,注意要用分号结束。后跟条件表达式,如果省略条件表达式,默认为true。
        case a:
            fmt.Println("a")
            // break // 不需要显示执行break语句,case执行完毕后自动终端。
        case a, b: // 多个匹配条件,其中一个条件符合即可。
            fmt.Println("b")
            fallthrough // case执行中断后,如果需要继续执行下一个case块的内容,在下一个case块结尾执行fallthrough并且可以在fallthrough前使用break语句阻止。但不继续继续后续case块。
        case c:
            fmt.Println("c")
        case d:
            fmt.Println("d")
        case 5:
            fmt.Println("e")
        //case 5, 6: // 支持常量,但不能出现重复常量
        //  fmt.Println("f")
        default:
            fmt.Println("x") // 只有全部匹配失败后,才会执行default块。
        }
    }
    

    相关文章

      网友评论

        本文标题:Go之旅-Switch

        本文链接:https://www.haomeiwen.com/subject/ptthottx.html