Go地图在内部使用什么数据结构?

时间:2014-05-10 23:39:30

标签: map go

我对以下内容感兴趣:

  • 如何在内部实施Go地图? (哈希表,树......)
  • 如果Go map是哈希表,那么使用哪个哈希函数?
  • 如果Go地图是树木,它们是AVL,红黑还是其他类型?
  • 如果Go地图是基于数组的,它们如何避免/处理冲突?

1 个答案:

答案 0 :(得分:6)

Go map是内部的哈希表

正如@twotwotwo在评论中澄清的那样,如果CPU有支持指令,Go将使用基于AES的散列。

否则Go将使用FNV hash function(如Patrick Mylund Nielsen @ Go-Nuts所述)

链接: