由于结构是不可变的,因此可以通过创建新结构将另一个键添加到结构的唯一方法。 以下程序显示了如何实现这一目标的示例。
(ns clojure.examples.example
(:gen-class))
(defn Example []
(defstruct Employee :EmployeeName :Employeeid)
(def emp (struct-map Employee :EmployeeName "John" :Employeeid 1))
(def newemp (assoc emp :EmployeeRank "A"))
(println newemp))
(Example)
在上面的示例中,我们将名为EmployeeRank的新键与结构相关联,但是通过创建新的结构对象。
上述程序产生以下输出。
{:EmployeeName John, :Employeeid 1, :EmployeeRank A}