Clojure 中的 Immutable Nature函数

首页 / Clojure入门教程 / Clojure 中的 Immutable Nature函数

默认情况下,结构也是不可变的,因此,如果我们尝试更改特定键的值,则它不会更改。

Immutable - 示例

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (defstruct Employee :EmployeeName :Employeeid)
   (def emp (struct-map Employee :EmployeeName "Learnfk" :Employeeid 1))
   (println (:EmployeeName emp))
   
   (assoc emp :EmployeeName "Mark")
   (println (:EmployeeName emp)))
(Example)

在上面的示例中,我们尝试使用" assoc"函数来关联结构中"EmployeeName"的新值。

上面的程序产生以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-immutable-nature.html

来源:LearnFk无涯教程网

Learnfk
Learnfk

这清楚地表明该结构是不可变的。更改值的唯一方法是使用更改后的值创建一个新变量,如以下程序所示。

(ns clojure.examples.example
   (:gen-class))
(defn Example []
   (defstruct Employee :EmployeeName :Employeeid)
   (def emp (struct-map Employee :EmployeeName "Learnfk" :Employeeid 1))
   (def newemp (assoc emp :EmployeeName "Mark"))
   (println newemp))
(Example)

上面的程序产生以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/clojure/clojure-immutable-nature.html

来源:LearnFk无涯教程网

{:EmployeeName Mark, :Employeeid 1}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

微服务架构核心20讲 -〔杨波〕

深入浅出区块链 -〔陈浩〕

持续交付36讲 -〔王潇俊〕

如何做好一场技术演讲 -〔极客时间〕

RPC实战与核心原理 -〔何小锋〕

全链路压测实战30讲 -〔高楼〕

攻克视频技术 -〔李江〕

深入C语言和程序运行原理 -〔于航〕

AI大模型企业应用实战 -〔蔡超〕

好记忆不如烂笔头。留下您的足迹吧 :)