登录
首页 >  Golang >  Go问答

如何在Go语言中使用循环遍历map中的所有数据?

来源:stackoverflow

时间:2024-02-14 12:27:25 227浏览 收藏

从现在开始,我们要努力学习啦!今天我给大家带来《如何在Go语言中使用循环遍历map中的所有数据?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

package main

type stream struct {
    labels  string
    entries []entry
}

type entry struct {
    timestamp time.time
    line      string
}

现在我已经创建了一个块映射

chunks := make(map[string]*stream)

我正在发送一个测试数据并尝试在此处形成我的块

for _, line := range Lines {
    fmt.Println(line.Logmsg) // if I do print here I am getting all the data here 
    chunks["label"] = &Stream{
        Labels: "label"
        Entries: []Entry{
            Timestamp: time.Now(),
            Line:      line.Logmsg
        },
    },
}

fmt.Println(chunks)

我在这里看到了 for 循环中的最后一个数据。

与第一个 println 相比,我没有看到所有数据,我在这里做错了什么吗?


正确答案


地图中的所有插入都在同一个键 "label" 下,因此最终地图将只包含一个元素。

为每个元素使用不同的标签或使用切片。

今天关于《如何在Go语言中使用循环遍历map中的所有数据?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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