您的位置:首页 > 编程语言 > Go语言

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实现替代。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: