package main
type Multimap map[string][]string
type keyValues struct {
key string
values []string
}
func (multimap Multimap) Add(key, value string) {
if len(multimap[key]) == 0 {
multimap[key] = []string{value}
} else {
multimap[key] = append(multimap[key], value)
}
}
func (multimap Multimap) Get(key string) []string {
if multimap == nil {
return nil
}
values := multimap[key]
return values
}
func main() {
var myMap Multimap
myMap = make(Multimap);
myMap.Add("黑龙江", "齐齐哈尔")
myMap.Add("黑龙江", "哈尔滨")
myMap.Add("黑龙江", "大庆")
myMap.Add("辽宁", "大连")
myMap.Add("辽宁", "沈阳")
for key := range myMap {
for j := 0; j < len(myMap[key]); j++ {
println(myMap[key][j])
}
}
}
对象切片作为map的值时,删除对象后,修改原map,需要将对象赋值给原map
myMap[i] = sli
网友评论