Clojure - 数据类型

Clojure 提供多种内置数据类型。

内置数据类型

以下是 Clojure 中定义的数据类型列表。

  • 整数 − 以下是 Clojure 中可用的整数表示形式。

    • 十进制整数(短整型、长整型和整型) − 这些用于表示整数。 例如,1234。

    • 八进制数 − 这些用于以八进制表示形式表示数字。 例如,012。

    • 十六进制数 − 这些用于表示表示中的数字。 例如,0xff。

    • 基数 − 这些用于表示基数表示中的数字。 例如,2r1111,其中基数是 2 到 36 之间的整数(含 2 和 36)。

  • 浮点数

    • 默认用于表示32位浮点数。 例如,12.34。

    • 另一种表示方法是科学记数法。 例如,1.35e-12。

  • char − 这定义了单个字符文字。 字符是用反冲符号定义的。 例如,/e。

  • Boolean − 这代表一个布尔值,可以是 true 也可以是 false。

  • String − 这些是以字符链的形式表示的文本文字。 例如,"Hello World"。

  • Nil − 这用于在 Clojure 中表示 NULL 值。

  • Atom − 原子提供了一种管理共享、同步、独立状态的方法。 它们是像 refs 和 vars 一样的引用类型。

绑定值

由于 Clojure 中的所有数据类型都是从 Java 继承的,因此有界值与 Java 编程语言中的相同。 下表显示了数字和十进制文字的最大允许值。

literals Ranges
Short -32,768 to 32,767
int -2,147,483,648 to 2,147,483,647
long -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807
float 1.40129846432481707e-45 to 3.40282346638528860e+38
double 4.94065645841246544e-324d to 1.79769313486231570e+308d

Class Numeric 类型

除了基本类型之外,还允许使用以下对象类型(有时称为包装类型)。

名称
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double

示例

以下程序显示了合并的 clojure 代码,以演示 Clojure 中的数据类型。

(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