Go语言实现一键多值的Map

来源:互联网 发布:mysql的存储过程 编辑:程序博客网 时间:2024/06/05 04:24

最近用Go语言开发项目,一边学、一边开发,照着源码,实现了Go语言,一键多值的Map

package maintype Multimap map[string][]stringtype 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])              }       }}