GOLANG的类型断言
package main
import(
"fmt"
_"sort"
_"math/rand"
)
func main(){
//类型断言:在x空接口转换为y的类型float32时候,采用x.(float)断言是可以转换成功的,因为y在赋值给x的时候,原类型就是float32类型
var x interface{}
var y float32 = 3.2
x = y
b := x.(float32)
fmt.Printf("b 的类型是%T,b的值是%v \n" ,b,b)
//类型断言,检测机制,使用if进行判断是否类型匹配,如果匹配 Flag接受到的就是true,否则为flase,默认接收就是bool值,所以不需要if Flag == true {}。
var A interface{}
var B float64 = 6.8
A = B
Z, Flag := A.(float32)
if Flag{
fmt.Printf("转换成功···\n")
fmt.Printf("Z 的类型是%T,Z的值是%v",Z,Z)
}else {
fmt.Printf("转换失败···\n")
}
fmt.Printf("继续执行下面的代码块,不中断···")
}
终端结果

作者:欧小白
-------------------------------------------
个性签名:不从泥泞不堪的小道上迈步,就踏不上铺满鲜花的大路!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
浙公网安备 33010602011771号