- 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 - StructMaps
- Clojure - Agents
- Clojure - 观察者
- Clojure - 宏
- Clojure - 引用值
- Clojure - 数据库
- Clojure - Java 接口
- Clojure - 并发编程
- Clojure - 应用
- Clojure - 自动化测试
- Clojure - 库
- Clojure 有用资源
- Clojure - 快速指南
- Clojure - 有用资源
- Clojure - 讨论
Clojure - 数据类型
Clojure 提供了各种各样的内置数据类型。
内置数据类型
以下是 Clojure 中定义的数据类型列表。
整数 − 以下是 Clojure 中可用的整数表示。
十进制整数(短整型、长整型和整型) − 用于表示整数。例如,1234。
八进制数 − 用于表示八进制数。例如,012。
十六进制数 − 用于表示十六进制数。例如,0xff。
基数数字 − 用于表示基数表示的数字。例如,2r1111,其中基数是介于 2 和 36(含)之间的整数。
浮点数
默认情况下,用于表示32位浮点数。例如,12.34。
另一种表示法是科学计数法。例如,1.35e-12。
字符 − 定义单个字符字面量。字符用反斜杠符号定义。例如,\e。
布尔值 − 表示布尔值,可以是真或假。
字符串 − 文本字面量,以字符链的形式表示。例如,“Hello World”。
Nil − 用于表示 Clojure 中的 NULL 值。
原子 − 原子提供了一种管理共享的、同步的、独立状态的方法。它们与 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
广告