我创建了一个具有以下结构的地图:
m:= make(map [int]记录)Record是一个结构如下:
type Record struct { UID int 输入字符串 年份字符串}SumRecord ……
这是@ThunderCat提供的替代解决方案。
这将创建SumRecord到整数的新映射,表示该类型/年的特定分组的出现总和。
查看完整示例 这里 。
type Record struct { UID int Type string Year string } type SumRecord struct { Type string Year string } m := make(map[int]Record) // e.g. [{"1996","non-fiction"}:4], representing 4 occurrences of {"1996","non-fiction"} srMap := make(map[SumRecord]int) // add records // loop over records for key := range m { sr := SumRecord{ Type: m[key].Type, Year: m[key].Year, } // creates new counter or increments existing pair counter by 1 srMap[sr] += 1 } // print all mappings fmt.Println(srMap) // specific example fmt.Println(srMap[SumRecord{ Year: "1996", Type: "non-fiction", }])