大家好,我是對於 Clojure 一無所知的菜鳥小白工程師。
今天要來學習 Clojure 資料型態中的關鍵字 Keywoords
。
try Clojure here: https://qa-mktg.codingrooms.com/compiler/clojure/
在上一章節中學習映射時,我們都會看到前綴有 :
的資料結構,它們主要用作映射(Maps
)中的鍵(keys
),這就是我們這次要介紹的關鍵字(Keywords
)。
就像我們在上一章節中看到的那樣,以下是一些更多的關鍵字例子:
:a
:rumplestiltsken
:34
:_?
關鍵字可以當作函數使用,用於查找數據結構中相應的值。例如,我們可以在映射中查找 :a
:
; keywords as function
(:a {:a 1 :b 2 :c 3})
; => 1
這等同於我們上一章節中介紹的 get
函數如下:
; get function
(get {:a 1 :b 2 :c 3} :a)
; => 1
使用關鍵字查找相應的值時,我們也可以提供預設值,就像使用 get
一樣:
; keywords as function
(:d {:a 1 :b 2 :c 3} "No gnome knows homes like Noah knows")
; => "No gnome knows homes like Noah knows"
; get function
(get {:a 1 :b 2 :c 3} :d "No gnome knows homes like Noah knows")