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