GO: 類型斷言

go裏面的類型斷言寫法:

x.(T)

其中x爲interface{}類型 T是要斷言的類型。
類型斷言有個非常好的使用場景:當某個類型爲interface{}的變量,真實類型爲A時,才做某件事時,這時可以使用類型斷言
下面有個例子。只有當某個interface{}的類型 存儲的是int時纔打印出來。

package main

import (
    "fmt"
    "math/rand"
    "time"
)

func main() {
    var v interface{}

    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    for i := 0; i < 10; i++{
        v = i
        if (r.Intn(100) % 2) == 0 {
            v = "hello"
        }

        if _, ok := v.(int); ok {
            fmt.Printf("%d\n", v)
        }
    }
}

go類型斷言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章