Clojure - 变量


在 Clojure 中,变量由“def”关键字定义。它有点不同,其中变量的概念更多地与绑定有关。在 Clojure 中,值绑定到变量。Clojure 中需要注意的一件关键事情是变量是不可变的,这意味着为了更改变量的值,需要将其销毁并再次重新创建。

以下是 Clojure 中变量的基本类型。

  • - 用于表示短数字。例如,10。

  • int - 用于表示整数。例如,1234。

  • long - 用于表示长数字。例如,10000090。

  • float - 用于表示 32 位浮点数。例如,12.34。

  • char - 这定义了单个字符文字。例如,“/a”。

  • Boolean - 这表示一个布尔值,可以是 true 或 false。

  • 字符串- 这些是以字符链的形式表示的文本文字。例如,“你好世界”。

变量声明

以下是定义变量的一般语法。

句法

(def var-name var-value)

其中“var-name”是变量的名称,“var-value”是绑定到变量的值。

例子

以下是变量声明的示例。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   ;; The below code declares a integer variable
   (def x 1)
   
   ;; The below code declares a float variable
   (def y 1.25)

   ;; The below code declares a string variable
   (def str1 "Hello")
   
   ;; The below code declares a boolean variable
   (def status true))
(Example)

命名变量

变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大小写字母是不同的,因为 Clojure 就像 Java 一样是区分大小写的编程语言。

例子

以下是 Clojure 中变量命名的一些示例。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   ;; The below code declares a Boolean variable with the name of status
   (def status true)
   
   ;; The below code declares a Boolean variable with the name of STATUS
   (def STATUS false)
   
   ;; The below code declares a variable with an underscore character.
   (def _num1 2))
(Example)

注意- 在上述语句中,由于区分大小写,status 和 STATUS 是 Clojure 中两个不同的变量定义。

上面的示例显示了如何定义带有下划线字符的变量。

打印变量

由于Clojure使用JVM环境,因此您还可以使用'println'函数。以下示例展示了如何实现这一点。

例子

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   ;; The below code declares a integer variable
   (def x 1)
   
   ;; The below code declares a float variable
   (def y 1.25)
   
   ;; The below code declares a string variable
   (def str1 "Hello")
   (println x)
   (println y)
   (println str1))
(Example)

输出

上述程序产生以下输出。

1
1.25
Hello