Golang 类型断言
案例
func main() {
//定义一个空接口类型
var x interface{}
var y float32 = 1.1
//多态
x = y
//y = x 错误
y = x.(float32)
fmt.Println(y)
}
定义
由于接口时一般类型,不知道具体类型,如果要转为具体类型,就需要类型断言
类型断言,与Java
中的instance of
相似,否则就会panic
例子
func main() {
//定义一个空接口类型
var x interface{}
var y float32 = 1.1
x = y
//判断x是不是float32类型,返回值和flag
if val,flag := x.(float32); flag{
fmt.Println(val)
}else{
fmt.Println(flag,"fail")
}
}