使用默认值对地图进行解构
有时,你希望在地图下解析密钥,该地图可能不在地图中,但你希望破坏结构值的默认值。你可以这样做:
(def my-map {:a 3 :b 4})
(let [{a :a
b :b
:keys [c d]
:or {a 1
c 2}} my-map]
(println a b c d))
;= 3 4 2 nil
有时,你希望在地图下解析密钥,该地图可能不在地图中,但你希望破坏结构值的默认值。你可以这样做:
(def my-map {:a 3 :b 4})
(let [{a :a
b :b
:keys [c d]
:or {a 1
c 2}} my-map]
(println a b c d))
;= 3 4 2 nil