 
- Clojure 教程
- Clojure - 主页
- Clojure - 概述
- Clojure - 环境
- Clojure - 基本语法
- Clojure-REPL
- Clojure - 数据类型
- Clojure - 变量
- Clojure - 运算符
- Clojure - 循环
- Clojure - 决策
- Clojure - 函数
- Clojure - 数字
- Clojure - 递归
- Clojure - 文件 I/O
- Clojure - 字符串
- Clojure - 列表
- Clojure - 集
- Clojure - 向量
- Clojure - 地图
- Clojure - 命名空间
- Clojure - 异常处理
- Clojure - 序列
- Clojure - 正则表达式
- Clojure - 谓词
- Clojure - 解构
- Clojure - 日期和时间
- Clojure - 原子
- Clojure - 元数据
- Clojure - 结构映射
- Clojure - 代理
- Clojure - 观察者
- Clojure - 宏
- Clojure - 参考值
- Clojure - 数据库
- Clojure - Java 接口
- Clojure - 并发编程
- Clojure - 应用程序
- Clojure - 自动化测试
- Clojure - 库
- Clojure 有用资源
- Clojure - 快速指南
- Clojure - 有用的资源
- Clojure - 讨论
Clojure - 数据类型
Clojure 提供了多种内置数据类型。
内置数据类型
以下是 Clojure 中定义的数据类型列表。
- 整数- 以下是 Clojure 中可用的整数表示。 - 十进制整数(短整型、长整型和整型) - 这些用于表示整数。例如,1234。 
- 八进制数- 这些用于表示八进制表示的数字。例如,012。 
- 十六进制数字- 这些用于表示表示中的数字。例如,0xff。 
- 基数- 这些用于表示基数表示中的数字。例如,2r1111,其中基数是 2 到 36 之间的整数(含 2 和 36)。 
 
- 浮点 - 默认用于表示 32 位浮点数。例如,12.34。 
- 另一种表示方法是科学记数法。例如,1.35e-12。 
 
- char - 这定义了单个字符文字。字符是用反冲符号定义的。例如,/e。 
- Boolean - 这表示一个布尔值,可以是 true 或 false。 
- 字符串- 这些是以字符链的形式表示的文本文字。例如,“你好世界”。 
- Nil - 这用于在 Clojure 中表示 NULL 值。 
- Atom - Atomics提供了一种管理共享、同步、独立状态的方法。它们是像 refs 和 vars 一样的引用类型。 
约束值
由于 Clojure 中的所有数据类型都是从 Java 继承的,因此有界值与 Java 编程语言中的相同。下表显示了数字和十进制文字的最大允许值。
| 文字 | 范围 | 
|---|---|
| 短的 | -32,768 至 32,767 | 
| 整数 | -2,147,483,648 至 2,147,483,647 | 
| 长的 | -9,223,372,036,854,775,808 至 +9,223,372,036,854,775,807 | 
| 漂浮 | 1.40129846432481707e-45 至 3.40282346638528860e+38 | 
| 双倍的 | 4.94065645841246544e-324d 至 1.79769313486231570e+308d | 
类数字类型
除了基本类型之外,还允许使用以下对象类型(有时称为包装类型)。
| 姓名 | 
|---|
| 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