我在 Golang 地图中查找结构作为键
我知道在 golang 中对地图的迭代没有保证的顺序。我遵循了golang blog 中的示例,并尝试使用 astruct作为映射键。
这是我的代码
package main
func main() {
req := make(map[mapKey]string)
req[mapKey{1, "r"}] = "robpike"
req[mapKey{2, "gri"}] = "robert griesemer"
req[mapKey{3, "adg"}] = "andrew gerrand"
req[mapKey{4, "rsc"}] = "russ cox"
var keys []int
for k := range req {
keys = append(keys, k.Key)
}
for _, k := range keys {
fmt.Printf("short name : %s , long name : %s\n",req[k], req[k]) // How do I iterate here
}
sort.Ints(keys)
}
type mapKey struct {
Key int
Option string
}
我想要的结果是
short name : r , long name : rob pike
short name : gri , long name : robert griesemer
short name : adg , long name : andrew gerrand
short name : rsc , long name : russ cox
而且我不知道如何获得由分离的数据结构迭代的结构值和键。
青春有我
相关分类