登录
首页 >  Golang >  Go问答

如何访问 M 列表中的元素

来源:stackoverflow

时间:2024-02-25 16:54:29 100浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《如何访问 M 列表中的元素》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

showinfocursor, err := collection.aggregate(context.todo(), mongo.pipeline{unwindstage, groupstage})
    if err != nil {
        panic(err)
    }
    var showswithinfo []bson.m
    if err = showinfocursor.all(context.todo(), &showswithinfo); err != nil {
        panic(err)
    }

我正在迭代showswithinfo 数组。每个bson.m都包含特定键的原始m类型值。我尝试将其转换为结构体,但没有成功。

map[operatorId:1 channel: XYZ]

这就是我打印原始 m 的值后得到的结果。 我需要从中获取这两个值。 (操作员id,频道)


解决方案


bson.Mprimitive.m 的类型别名:

type m = primitive.m

primitive.M 是一个“简单”地图:

type m map[string]interface{}

因此,您可以像对任何地图一样对值进行索引:

m := primitive.m{
    "operatorid": 1,
    "channel":    "xyz",
}
fmt.println(m)

fmt.println("operator id:", m["operatorid"])
fmt.println("channel:", m["channel"])

此输出(在 Go Playground 上尝试):

map[channel:XYZ operatorId:1]
Operator ID: 1
Channel: XYZ

理论要掌握,实操不能落!以上关于《如何访问 M 列表中的元素》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>