栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

这是golang的演员吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

这是golang的演员吗?

这是一个类型断言。类型断言可用于:

  • 接口 类型的值中获取 具体 类型的值 __
  • 或获得与初始接口类型 不同的 接口值(具有不同方法集的接口,实际上不是原始接口的子集,因为可以使用简单的类型转换就可以简单地获得它)。

引用规范:

对于

x
接口类型和类型
T
的表达式,主要表达式

x.(T)

断言

x
不是,
nil
并且存储的值
x
是type
T
。该符号
x.(T)
称为 类型断言

更精确地,如果

T
不是一个接口类型,
x.(T)
断言,动态型的
x
是相同的类型
T
。在这种情况下,
T
必须实现的(接口)类型
x
;否则类型断言无效,因为无法
x
存储type的值
T
。如果
T
为接口类型,
x.(T)
则断言动态类型的
x
实现接口
T

更具体地说,您的示例是它的一种特殊形式,它还报告类型断言是否成立。如果不是,

ok
将是
false
,如果断言成立,
ok
将是
true

与以下形式不同,这种特殊形式永远不会惊慌:

paxPayment = dataObject.(*entities.PassengerPayment)

如果

dataObject
不持有type值,
*entities.PassengerPayment
则会感到恐慌。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号