Go语言实现一键多值的Map
2017-07-20 17:40
204 查看
最近用Go语言开发项目,一边学、一边开发,照着源码,实现了Go语言,一键多值的Map
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]) } } }
相关文章推荐
- Go语言用map实现堆栈功能的方法
- 在STL中,map按值来排序的实现方法_永不言弃是生命的基调!_百度空间
- map 中结构体做为Key值 的实现
- javascript实现的java里的Map对象
- 10.算法实现,难道要学Map-Reduce
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
- map任务中,merge过程的实现方法
- python实现用hadoop的map/reduce对web日志进行统计
- MyBatis中的动态SQL,实现不确定条件的CRUD-----使用Map来传递查询的参数
- 如何用Go语言实现汉诺塔算法
- Map读取键值对,Java遍历Map的两种实现方法
- STL中map、set的数据结构及底层实现
- Java8新增的Map集合以及各Map的实现
- python使用.map() 实现首字母大写,其余小写
- 运用函数指针和STL的Map实现关键字key与成员函数的映射
- 多映射通用集合类(C#实现)--支持一键多值存储
- java实现map和object互转的三种方法
- 深入Java集合学习系列:ConcurrentSkipListMap实现原理
- STL源码中map和set中key值不能修改的实现
- JAVA绝对干货——List、Set、Map并发数据结构对比实现