Clojure - 变量



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

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

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

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

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

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

  • char - 定义单个字符字面量。例如,‘/a’。

  • Boolean - 表示布尔值,可以是真或假。

  • String - 是文本字面量,以字符链的形式表示。例如,“Hello World”。

变量声明

以下是定义变量的通用语法。

语法

(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
广告