Go語言中判斷類型

今天學到結構體的時候,突然想起怎麼判斷變量類型? 轉載地址:http://blog.sina.com.cn/s/blog_487109d101013g2p.html

------------------------------------------------------------------------------------

今天羣裏有人問:在Go中怎樣判斷數據類型。

1、要判斷數據類型,可以用Go的空接口:
建一個函數t 設置參數i 的類型爲空接口,空接口可以接受任何數據類型
func t(i interface{}) {    //函數t 有一個參數i 
    switch i.(type) {      //多選語句switch
    case string:
        //是字符時做的事情
    case int:
        //是整數時做的事情
    }
    return
}
i.(type) 只能在switch中使用
這函數沒有返回值,你可以自己加入 這種方式可以判斷多種類型實現某種業務需求。
----------------------------------------------------------------------------
2、還可以用反射:
package main

import (
        "fmt"
        "reflect"
)

func main() {
        var x float64 = 3.4
        fmt.Println("type:", reflect.TypeOf(x))
}
這樣就可以得出變量x的類型信息,與上面不同的是:上面的方法要先知到它是幾個類型中的一個,而這個方法可以對任意對象使用。
發佈了152 篇原創文章 · 獲贊 112 · 訪問量 50萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章