今天学到结构体的时候,突然想起怎么判断变量类型? 转载地址:/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
("type:", (x))
}
这样就可以得出变量x的类型信息,与上面不同的是:上面的方法要先知到它是几个类型中的一个,而这个方法可以对任意对象使用。