Go 條件語句 - Go 學習記錄

Ali發表於2019-03-01

if 語句

  • if 語句 由一個布林表示式後緊跟一個或多個語句組成。
  • if 語句 後可以使用可選的 else 語句, else 語句中的表示式在布林表示式為 false 時執行。
  • 你可以在 if 或 else if 語句中嵌入一個或多個 if 或 else if 語句。
    if 布林表示式 {
       /* 在布林表示式為 true 時執行 */
    }

    number := 1 

    if number == 2 {
        fmt.Print("等於2")
    }else{
        fmt.Print("不等於2")
    }

    age := 28

    if age == 26{
        fmt.Print("age是26")
    }else if age < 27{
        fmt.Print("age是27")
    }else {
        fmt.Print("age大於27") // age大於27
    }

    // 巢狀if語句
    a := 100
    b := 10
    if a > b {
        fmt.Print("a大於等於b \n")
        if a > 20{
            fmt.Print("a大於於20 \n")
        }
    }else{
        fmt.Print("a小於b \n")
    }

switch 語句

  • switch 語句用於基於不同條件執行不同動作,每一個 case 分支都是唯一的,從上直下逐一測試,直到匹配為止。
  • switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加 break。
     // 基礎語法
    switch var1 {
        case val1:
            ...
        case val2:
            ...
        default:
            ...
    }

    // 用來判斷字元型別 
    var a interface{}
    a = 3.143

    switch a.(type) {
    case int:
        fmt.Print("型別為int\n")
    case string:
        fmt.Print("型別為字串\n")
    default:
        fmt.Print("未知型別 \n") // 輸出未知型別
    }

 // 判斷成績
    var grade string = "D"

    switch {
    case grade == "A" :
        fmt.Printf("優秀!\n" )
    case grade == "B", grade == "C" :
        fmt.Printf("良好\n" )
    case grade == "D" :
        fmt.Printf("及格\n" ) // 及格
    case grade == "F":
        fmt.Printf("不及格\n" )
    default:
        fmt.Printf("差\n" );
    }

select 還有點不理解,後續再寫。

如想看學習記錄同步的程式碼移步 GitHub 地址。

本作品採用《CC 協議》,轉載必須註明作者和本文連結

高永立

相關文章