作者:OP尋一 | 来源:互联网 | 2023-01-25 10:01
什么是类型查询就是不知道一个变量的具体类型,是不是很奇怪,对于严格类型检查的语言中,怎么会不知道变量类型了?golang中的interface{}就是其中一种,一个函数,接收任何类型的
什么是类型查询
就是不知道一个变量的具体类型,是不是很奇怪,对于严格类型检查的语言中,怎么会不知道变量类型了?golang中的interface{}就是其中一种,一个函数,接收任何类型的变量作为参数,对于不同类型的参数,采用不同的处理方法,这样就需要类型查询。
类型查询方法
只能对interface{}类型的变量使用类型查询
var whichType interface{}
obj,ok:=whichType.(bufio.Reader)
switch val := whichType.(type){
case string:
case int:
default:
fmt.Println(val)
}
提示
通过reflect包提供的方法,可以更加全面的去判断类型。