Clojure - Datentypen

Clojure bietet eine Vielzahl von built-in data types.

Integrierte Datentypen

Im Folgenden finden Sie eine Liste der Datentypen, die in Clojure definiert sind.

  • Integers - Nachfolgend finden Sie die Darstellung der in Clojure verfügbaren Ganzzahlen.

    • Decimal Integers (Short, Long and Int)- Diese werden verwendet, um ganze Zahlen darzustellen. Zum Beispiel 1234.

    • Octal Numbers- Diese werden verwendet, um Zahlen in oktaler Darstellung darzustellen. Zum Beispiel 012.

    • Hexadecimal Numbers- Diese werden verwendet, um Zahlen in der Darstellung darzustellen. Zum Beispiel 0xff.

    • Radix Numbers- Diese werden verwendet, um Zahlen in Radix-Darstellung darzustellen. Zum Beispiel 2r1111, wobei der Radix eine ganze Zahl zwischen 2 und einschließlich 36 ist.

  • Floating point

    • Die Standardeinstellung wird verwendet, um 32-Bit-Gleitkommazahlen darzustellen. Zum Beispiel 12.34.

    • Die andere Darstellung ist die wissenschaftliche Notation. Zum Beispiel 1.35e-12.

  • char- Dies definiert ein einzelnes Zeichenliteral. Zeichen werden mit dem Spielsymbol definiert. Zum Beispiel / e.

  • Boolean - Dies stellt einen booleschen Wert dar, der entweder wahr oder falsch sein kann.

  • String- Dies sind Textliterale, die in Form einer Zeichenkette dargestellt werden. Zum Beispiel "Hallo Welt".

  • Nil - Dies wird verwendet, um einen NULL-Wert in Clojure darzustellen.

  • Atom- Atome bieten eine Möglichkeit, den gemeinsamen, synchronen und unabhängigen Status zu verwalten. Sie sind ein Referenztyp wie refs und vars.

Gebundene Werte

Da alle Datentypen in Clojure von Java geerbt werden, sind die begrenzten Werte dieselben wie in der Programmiersprache Java. Die folgende Tabelle zeigt die maximal zulässigen Werte für die numerischen und dezimalen Literale.

Literale Bereiche
Kurz -32.768 bis 32.767
int -2.147.483.648 bis 2.147.483.647
lange -9.223.372.036.854.775.808 bis +9.223.372.036.854.775.807
schweben 1.40129846432481707e-45 bis 3.40282346638528860e + 38
doppelt 4.94065645841246544e-324d bis 1.79769313486231570e + 308d

Klassennumerische Typen

Zusätzlich zu den primitiven Typen sind die folgenden Objekttypen (manchmal als Wrapper-Typen bezeichnet) zulässig.

Name
java.lang.Byte
java.lang.Short
java.lang.Integer
java.lang.Long
java.lang.Float
java.lang.Double

Beispiel

Das folgende Programm zeigt einen konsolidierten Clojure-Code, um die Datentypen in Clojure zu demonstrieren.

(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)

Ausgabe

Das obige Programm erzeugt die folgende Ausgabe.

1
1.25
Hello