Golang 类型断言

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")
	}
}
原文地址:https://www.cnblogs.com/kikochz/p/13492917.html