求分析一小段代码,关于interface的

Yannick · · 808 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

``` type ServiceTypeEnum uint32 type avpUint32Enum struct { t interface{} } type attributeTypeDesc struct { name string dataType avpDataType } type avpDataType interface { Value(p *Packet, a AVP) interface{} String(p *Packet, a AVP) string } attributeTypeMap = [1]attributeTypeDesc{ 0: {"ServiceType", avpUint32Enum{ServiceTypeEnum(0)}}, } ``` ###### 本人新手,这是在学习别人代码的时候遇到的,数组第一个元素是一个attributeTypeDesc 结构体,name为ServiceType, dataType 为 avpUint32Enum{ServiceTypeEnum(0)}。这里avpUint32Enum肯定实现了avpDataType 接口,实现的代码就不贴出来了。 ###### ServiceTypeEnum是底层uint32类型,这里应该需要一个t interface{}空接口,表示接受任何变量。我的问题是:那么ServiceTypeEnum(0)这种用法是什么意思? **或者换句话问:go中 int32(0) 是一种什么 用法?**

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

808 次点击  
加入收藏 微博
2 回复  |  直到 2017-11-23 06:07:31
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传