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的类型信息,与上面不同的是:上面的方法要先知到它是几个类型中的一个,而这个方法可以对任意对象使用。

你可能感兴趣的:(Golang语言)