Go之旅-Switch

frankphper發表於2017-03-15

Go之旅-Switch

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塊。
    }
}

相關文章