首頁 > 軟體

Go語言學習之條件語句使用詳解

2022-04-14 16:00:51

1、if...else判斷語法

語法的使用和其他語言沒啥區別。

樣例程式碼如下:

// 判斷語句
func panduan(a int) {
    if a > 50 {
        fmt.Println("a > 50")
    } else if a < 30 {
        fmt.Println("a < 30")
    } else {
        fmt.Println("a <= 50 and a >= 30")
    }
}
 
func main() {
    panduan(120)
}

執行結果

a > 50

2、if巢狀語法

樣例程式碼如下

//巢狀判斷
func qiantao(b, c uint) {
    if b >= 100 {
        b -= 20
        if c > b {
            fmt.Println("c OK")
        } else {
            fmt.Println("b OK")
        }
    }
}

執行結果

c OK

3、switch語句

兩種寫法,不需要加break。

樣例程式碼如下

//switch使用
func test_switch() {
    var a uint = 90
    var result string
    switch a {
    case 90:
        result = "A"
    case 80, 70, 60:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %vn", result)
    switch {
    case a > 90:
        result = "A"
    case a <= 90 && a >= 80:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %vn", result)
 
}

執行結果

result: A              
result: B  

注意

1、可是在switch後面加變數,後面的case主要做匹配判斷。也可以直接使用switch{},case直接對關係運算結果做匹配。

2、 case中可以選擇匹配多項。

4、型別switch語句

switch語句可以使用type-switch進行型別判斷,感覺很實用的語法。

樣例程式碼如下

//測試型別switch
func test_type_switch() {
    var x interface{}
    x = 1.0
    switch i := x.(type) {
    case nil:
        fmt.Printf("x type = %Tn", i)
    case bool, string:
        fmt.Printf("x type = bool or stringn")
    case int:
        fmt.Printf("x type = intn")
    case float64:
        fmt.Printf("x type = float64n")
    default:
        fmt.Printf("未知n")
    }
}

執行結果

x type = float64     

注意

1、interface{}可以表示任何型別。

2、語法格式變數.(type)

5、fallthrough關鍵字使用

使用fallthrough關鍵字會強制執行後面的case語句內容,不管時候觸發該case條件。

樣例程式碼如下

// 測試fallthrough
func test_fallthrough() {
    a := 1
    switch {
    case a < 0:
        fmt.Println("1")
        fallthrough
    case a > 0:
        fmt.Println("2")
        fallthrough
    case a < 0:
        fmt.Println("3")
        fallthrough
    case a < 0:
        fmt.Println("4")
    case a > 0:
        fmt.Println("5")
        fallthrough
    case a < 0:
        fmt.Println("6")
        fallthrough
    default:
        fmt.Println("7")
    }
}

執行結果

2                      
3                      
4  

注意

1、如果一旦在往下執行case內容中不存在fallthrough,則會停止繼續往下執行case內容。 

小結

我看到還有個select語句,需要和chan關鍵字進行配合使用,沒不瞭解,後面先研究一下chan關鍵字。

到此這篇關於Go語言學習之條件語句使用詳解的文章就介紹到這了,更多相關Go條件語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com