类型断言:data.(Type) 类型断言是最常用的获取变量动态类型的方法之一。允许在运行时将接口值转换为其具体类型。 data 是一个接口类型的变量。 Type 是一个具体的类型。 这个表达式的含义是,如果 data 的底层值是 Type 类型,那么 value 将接收该底层值,并且 ok 的值将为 true,表示类型断言成功。否则,value 将接收 Type 类型的零值,而 ok 的值将为 false,表示类型断言失败。
var data interface{}=42value, ok := data.(int)if ok {fmt.Println("data是整型:", value)}else{fmt.Println("data不是整型")}
类型查询:data.(type) 可以通过类型查询的方式来判断变量的类型。
var data interface{}=42switch value := data.(type){caseint:fmt.Println("data 是一个整型:", value)casestring:fmt.Println("data 是一个字符串:", value)default:fmt.Println("data 是一个未知类型")}