go 结构体按照某个字段分组数据
时间: 2023-02-10 20:18:10 浏览: 101
golang之两个结构体复制字段
可以使用 Go 语言的 map 数据类型来分组数据。首先,你需要指定 map 的 key 类型,然后将结构体的某个字段的值作为 map 的 key,将结构体作为 map 的 value。
例如,有如下结构体:
type Person struct {
ID int
Name string
Age int
}
你可以使用 Age 字段来分组数据,代码如下:
personsByAge := make(map[int][]Person)
for _, p := range persons {
personsByAge[p.Age] = append(personsByAge[p.Age], p)
}
这样,你就可以通过 map 的 key(即 Age)来访问每个年龄对应的人的列表了。
阅读全文