- 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