欢迎!请在 关于页面 了解更多关于这是我们如何运作的信息。
我之前听说过关键词,但我不确定除了在映射的键之外它们还有什么实际的用途。关键词除了用于映射之外,还有其他用途吗?
实际上它们代表什么,有什么作用?
关键词和符号都适用于命名事物。符号将评估为它们所指向的对象,因此通常用于函数。关键词则评估为自身,因此它们是属性名称或枚举值的良好选择。
相比于符号,使用关键词作为名称的其他一些好处是它们是内部化的(在整个运行时中,特定的关键词只有一个实例被复用,因此具有相同属性的1000个映射只需要在一个内存中使用一个关键词),它们还有快速的(标识)等价性实现。
它们是用于名称的数据类型,假设我给你这个JSON
{ "a" : "b", "c": { "d": "e" } }
无法判断什么是名称,什么是值
关键字可以让你显示什么是标签
关键字也可以用作查找函数,如
(-> data :person :address :house-number) ;; 5