Golang 类型断言

Posted kikochz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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")
	}
}

以上是关于Golang 类型断言的主要内容,如果未能解决你的问题,请参考以下文章

Golang 类型断言

golang 类型断言使用 reflect.Typeof()

golang类型断言的使用(Type Assertion)

Golang type assertion 类型断言

Golang type assertion 类型断言

Golang type assertion 类型断言