Clojure 中的 compare

首页 / Clojure入门教程 / Clojure 中的 compare

当且仅当原子的当前值与原子保持的旧值相同时,才以原子方式将原子的值设置为新值,如果发生设置,则返回true,否则返回false。

compare-and-set! - 语法

(compare-and-set! atom-name oldvalue newvalue)

参数      -  " atom-name"是需要重置其值的原子的名称, "oldvalue"是原子的当前旧值, " newvalue"是需要分配给原子的新值。

返回值  -  仅在正确指定旧值的情况下,才会设置具有新值的原子。

compare-and-set! - 示例

(ns clojure.examples.example
   (:gen-class))
(defn example []
   (def myatom (atom 1))
   (println @myatom)
   
   (compare-and-set! myatom 0 3)
   (println @myatom)
  
   (compare-and-set! myatom 1 3)
   (println @myatom))
(example)

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

1
1
3

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

技术教程推荐

Go语言核心36讲 -〔郝林〕

黄勇的OKR实战笔记 -〔黄勇〕

全栈工程师修炼指南 -〔熊燚(四火)〕

Vim 实用技巧必知必会 -〔吴咏炜〕

爆款文案修炼手册 -〔乐剑峰〕

超级访谈:对话张雪峰 -〔张雪峰〕

反爬虫兵法演绎20讲 -〔DS Hunter〕

Dubbo源码剖析与实战 -〔何辉〕

结构写作力 -〔李忠秋〕

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