golang笔记——map
2016-03-25 23:17
471 查看
ages:=make(map[string]int)//mappingfromstringstoints
我们也可以用map字面值的语法创建map,同时还可以指定一些最初的key/value:
ages:=map[string]int{ "alice":31, "charlie":34, }
这相当于
ages:=make(map[string]int) ages["alice"]=31 ages["charlie"]=34
使用内置的delete函数可以删除元素:
delete(ages,"alice")//removeelementages["alice"]
Map的迭代顺序是不确定的,并且不同的哈希函数实现可能导致不同的遍历顺序。在实践中,遍历的顺序是随机的,每一次遍历的顺序都不相同。这是故意的,每次都使用随机的遍历顺序可以强制要求程序不会依赖具体的哈希函数实现。如果要按顺序遍历key/value对,我们必须显式地对key进行排序,可以使用sort包的Strings函数对字符串slice进行排序。
简单的说,就是先遍历map,取出所有的Key存放到与map同长度的切片中,然后排序这个切片,再遍历这个切片取出map中的key即可。
通过key索引方式来获取value,会返回两个值,其中第二个值是是否存在,当不存在时,第一个值则为对应value的零值。
go语言没有提供set类型,但因为map的key也是不能重复的,所以可以通过map实现替代。
相关文章推荐
- 实用Google 搜索方法总结(持续更新)
- HDU 3715 Go Deeper 2-SAT 二分答案
- Google源码下载,通过清华大学 TUNA 镜像源
- Webgoat学习笔记1
- [django]自定义全局context
- 关于OGR读取多边形-Polygon(GDAL 2.0版本之前)
- django-模型超级总结
- go语言学习心得
- zjnu1726 STOGOVI (lca)
- Django CSRF_TOKEN跨域攻击处理
- POJ 2195 Going Home (最小费用最大流)
- Go语言核心之美 3.4-Struct结构体
- GoDaddy重推CN域名注册服务
- GoDaddy重推CN域名注册服务
- hdu 5645 DZY Loves Balls
- hdu 5646 DZY Loves Partition
- Mastering the game of Go with deep neural networks and tree search 中文版来了
- codeforces_616D. Longest k-Good Segment(尺取法)
- Django-Model中的ForeignKey,ManyToManyField与OneToOneField
- go语言映射map的线程协程安全问题