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
廣告