【Go进阶】了解实践go类型断言

目录

类型断言


类型断言

类型断言是一个作用在接口值上的操作,写出来类似于x.(T),其中x是一个接口类型的表达式,而T是一个类型(称为断言类型)。类型断言会检查接口值得动态类型是否满足指定的断言类型。

  • 如果断言类型T是一个具体类型,那么类型断言就会检查x的动态类型是否就是T。如果检查成功,类型断言的结果就是x的动态值,类型当然就是T。换句话说,类型断言就是用来从接口值中把动态值取出来的操作。如果检查失败,那么操作崩溃。

  • 如果断言类型T是一个接口类型,那么类型断言检查x的动态类型是否满足T。如果检查成功,动态之并没有提取出来,结果仍然是一个接口值,接口值的类型和和值部分也没有变更,只是结果的类型为接口类型T。换句话说,类型断言是一个接口值表达式,从一个接口类型变更为拥有另外一套方法的接口类型,但保留了接口值中的动态类型和动态值部分。

无论使用哪种类型作为断言类型,如果操作数是一个空接口值,类型断言都失败。

我们经常无法确定

猜你喜欢

转载自blog.csdn.net/fanjufei123456/article/details/129953225