golang之map字典
map 是一种<strong><span style="color:#E53333;">无序的</span></strong>键值对的集合。map 最重要的一点是通过 key 来快速检索数据,key 类似于索引,指向数据的值。map 是无序的,我们无法决定它的返回顺序,这是因为 map 是使用 hash 表来实现的。map 的 hash 表包含了一个桶集合(collection of buckets)。当我们存储,移除或者查找键值对(key/value pair)时,都会从选择一个桶开始。在映射(map)操作过程中,我们会把指定的键值(key)传递给 hash 函数(又称散列函数)。hash 函数的作用是生成索引,索引均匀的分布在所有可用的桶上。
根据上面的描述是不是可以在其他语言中想到键值对、字典类型?说白了就是python中的dict,这也是为什么我在标题上加上map字典的原因,只是为了便于理解。在性能上来说,map查找比线性搜索快很多,但比使用索引访问数据的类型慢100倍。key必须是支持==或!=比较运算的类型,不可以是函数、map或slice。