interface{}是一个通用类型,可以储存任意类型的值。如下方法来获取值的实际类型:
如果你比较确定类型可以使用type assertion:
var num interface{} = 100
if val,ok := num.(int); ok {
fmt.Println(val)
}
var str interface{} = "abc"
switch v := str.(type) {
case string:
fmt.Println(v)
case int32, int64:
fmt.Println(v)
default:
fmt.Println("unknown")
}