溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言中Switch如何使用

發布時間:2021-07-06 15:46:19 來源:億速云 閱讀:251 作者:Leah 欄目:大數據

Go語言中Switch如何使用

在Go語言中,switch語句是一種強大的條件控制結構,它比傳統的if-else鏈更簡潔、更易讀。本文將介紹Go中switch的基本用法和一些高級特性。

基本語法

Go中的switch基本語法如下:

switch expression {
case value1:
    // 代碼塊1
case value2:
    // 代碼塊2
default:
    // 默認代碼塊
}

示例

day := 3
switch day {
case 1:
    fmt.Println("星期一")
case 2:
    fmt.Println("星期二")
case 3:
    fmt.Println("星期三")
default:
    fmt.Println("其他日子")
}

無表達式的Switch

Go允許省略switch后的表達式,此時相當于switch true,每個case表達式都會被求值為布爾值:

num := 75
switch {
case num < 50:
    fmt.Println("小于50")
case num >= 50 && num < 100:
    fmt.Println("50到100之間")
default:
    fmt.Println("大于等于100")
}

多條件匹配

一個case可以包含多個值,用逗號分隔:

month := 4
switch month {
case 1, 3, 5, 7, 8, 10, 12:
    fmt.Println("31天")
case 4, 6, 9, 11:
    fmt.Println("30天")
case 2:
    fmt.Println("28或29天")
}

類型Switch

Go的switch還可以用于類型判斷:

func checkType(x interface{}) {
    switch x.(type) {
    case int:
        fmt.Println("整型")
    case string:
        fmt.Println("字符串")
    case bool:
        fmt.Println("布爾型")
    default:
        fmt.Println("未知類型")
    }
}

Fallthrough關鍵字

默認情況下,Go的switch執行完匹配的case后會自動退出,使用fallthrough可以強制執行下一個case

num := 1
switch num {
case 1:
    fmt.Println("1")
    fallthrough
case 2:
    fmt.Println("2")
default:
    fmt.Println("默認")
}
// 輸出:
// 1
// 2

與其它語言的差異

  1. Go的switch不需要break語句,默認不會”貫穿”
  2. case表達式可以是任意類型,不限于常量或整數
  3. 可以省略switch后的表達式,實現更靈活的布爾邏輯

通過合理使用switch語句,可以使Go代碼更加簡潔和易讀,特別是在處理多個條件分支時。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女