我的编程空间,编程开发者的网络收藏夹
学习永远不晚

golang中通过interface{}的通用结构图

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

golang中通过interface{}的通用结构图

一分耕耘,一分收获!既然打开了这篇文章《golang中通过interface{}的通用结构图》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我有两种基于第三方代码的结构,我无法更改

type addevent struct {
}

type deleteevent struct {
}

我想创建一个以字符串为键、以对象为值的映射 所以每次我收到新事件时我都会将其添加到地图中 地图应如下所示:

eventmap:
    event1,addevent{}
    event2,addevent{}
    event2,deleteevent{}

addevent和deleteevent没有定义为接口的问题。

有没有办法使用任何结构作为值在 go 中创建通用映射,如果是的话,我如何读取它,我是否需要使用 reflect 检查类型

I.E
event:=EventMap[event1]
if reflect.TypeOf(event)==AddEvent{
}else if reflect.TypeOf(event)==DeleteEvent{
}


解决方案


评论说的看起来不错,但是缺少类型开关。也许您需要的完整版本是:

m := make(map[string]interface{})
addEvent := new(AddEvent)
m["event1"] = addEvent
switch m["event1"].(type) {
case *AddEvent:
    // do something
case *DeleteEvent:
    // do other things
}

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

golang中通过interface{}的通用结构图

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

golang中通过interface{}的通用结构图

一分耕耘,一分收获!既然打开了这篇文章《golang中通过interface{}的通用结构图》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,
golang中通过interface{}的通用结构图
2024-04-04

Golang 中的通用结构/接口列表

php小编百草在这篇文章中将为大家介绍Golang中的通用结构/接口列表。Golang是一种开源的编程语言,具有简单易学、高效可靠的特点,被广泛应用于网络编程、云计算等领域。在Golang中,通用结构和接口是非常重要的概念,可以帮助我们实现
Golang 中的通用结构/接口列表
2024-02-13

通过反射提取通用结构体值

本篇文章向大家介绍《通过反射提取通用结构体值》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。问题内容我正在尝试将结构体的所有值提取到字符串切片中。func structValues(item Item) []string {val
通过反射提取通用结构体值
2024-04-04

怎么在golang中通过递归遍历生成树状结构

怎么在golang中通过递归遍历生成树状结构?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是golanggolang 是Google开发的一种静态强类型、编译型、并发型,并
2023-06-14

接受任何结构的通用结构

问题内容如何制作接受任何结构的通用结构?package modeltype model struct {m *interface{}}func (m *model) Select(){}type (field struct {tabl
接受任何结构的通用结构
2024-02-06

Python项目通用的目录结构总结

一个好的项目结构会让我们在开发中更加得心应手。对于Web项目,我们通常采用Flask或Django等框架,会有一套适合这种项目的工程目录。对于爬虫项目,通常有Scrapy等开源框架,也会提供一套适合这种项目的工程目录。对于通用的一些Pyth
2023-01-31

C语言如何实现通用数据结构中的通用椎栈

今天就跟大家聊聊有关C语言如何实现通用数据结构中的通用椎栈,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。为大家分享了C语言实现通用数据结构之通用椎栈的具体代码,具体内容如下这是在通用
2023-06-21

C语言如何实现通用数据结构中的通用集合

本篇文章为大家展示了C语言如何实现通用数据结构中的通用集合,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。这是在通用链表的基础上实现的集合,关于链表的实现参见:C语言实现通用数据结构之通用链表注意集合
2023-06-21

如何通过名称获取结构体的属性?

偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍《如何通过名称获取结构体的属性?》,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合
如何通过名称获取结构体的属性?
2024-04-04

vue怎么通过src引用assets中的图片

这篇文章主要介绍vue怎么通过src引用assets中的图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!vue:src引用assets的图片导入图片并在data中声明