go - 如何在 go 中的 map 中获取 for 循环中的所有数据?
问题描述
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 相比,我没有看到所有数据,我在这里做错了什么吗?
解决方案
map 中的所有插入都在同一个 key 下"label"
,所以最后 map 将只包含一个元素。
为每个元素使用不同的标签或使用切片。
推荐阅读
- c# - 如何修复 Unity 中的“EntryPointNotFoundException:SWIGRegisterExceptionCallbacks_DatabaseInternal”错误
- python - 如何从xarray中的现有变量计算新变量?
- javascript - 使用传递的 JSON 数组创建 Google 折线图
- java - 如何使用 Mono 处理可为空的字段
还是 R2dbc 在 Spring 中提供的 DatabaseClient? - node.js - 无法检查过时的全局 npm 包
- typescript - 使用 TypeScript 选择 SVG 圆
- python - 如何计算 Pandas 数据框中的汇总汇总统计信息
- angular - 在集合“@schemics/angular”中找不到“ng-new”
- javascript - 在工具提示 reactjs 中添加断线
- javascript - 解析嵌套的javascript数组