Elixir-关键字列表和地图之间的差异

Elixir-关键字列表和地图之间的差异,elixir,Elixir,刚从戴夫·托马斯的长生不老药书开始 它涉及两个概念: 关键字列表 [ name: "Dave", city: "Dallas", likes: "Programming" ] states = %{ "AL" => "Alabama", "WI" => "Wisconsin" } 地图 [ name: "Dave", city: "Dallas", likes: "Programming" ] states = %{ "AL" => "Alabama", "WI" =&g

刚从戴夫·托马斯的长生不老药书开始

它涉及两个概念:

关键字列表

[ name: "Dave", city: "Dallas", likes: "Programming" ]
states = %{ "AL" => "Alabama", "WI" => "Wisconsin" }
地图

[ name: "Dave", city: "Dallas", likes: "Programming" ]
states = %{ "AL" => "Alabama", "WI" => "Wisconsin" }

您什么时候会选择一个而不是另一个?

入门指南中有一章提供了快速概述:


总之,关键字列表用于选项或需要保留用户顺序时。要存储实际数据,请使用地图。

可能的重复感谢。我读了链接。虽然我理解技术上的区别,但我仍然不清楚什么时候你会使用一个而不是另一个关键字列表,heritage of Erlang,用于传递相当静态的值集合,如选项、函数参数等。它们只是列表,因此它们不具有您在选择关联数据结构(如常数时间访问)时通常要查找的属性。另一方面,地图是存储和处理实际有效载荷数据的首选武器。谢谢@patrick oscity