Clojure - typy danych
Clojure oferuje szeroką gamę plików built-in data types.
Wbudowane typy danych
Poniżej znajduje się lista typów danych, które są zdefiniowane w Clojure.
Integers - Poniżej przedstawiono reprezentację liczb całkowitych dostępnych w Clojure.
Decimal Integers (Short, Long and Int)- Są używane do przedstawiania liczb całkowitych. Na przykład 1234.
Octal Numbers- Są używane do przedstawiania liczb w reprezentacji ósemkowej. Na przykład 012.
Hexadecimal Numbers- Są używane do reprezentowania liczb w reprezentacji. Na przykład 0xff.
Radix Numbers- Są używane do reprezentowania liczb w reprezentacji radix. Na przykład 2r1111, gdzie podstawa jest liczbą całkowitą od 2 do 36 włącznie.
Floating point
Wartość domyślna jest używana do reprezentowania 32-bitowych liczb zmiennoprzecinkowych. Na przykład 12.34.
Drugą reprezentacją jest notacja naukowa. Na przykład 1,35e-12.
char- definiuje literał pojedynczego znaku. Znaki są definiowane za pomocą symbolu luzu. Na przykład / e.
Boolean - Reprezentuje wartość logiczną, która może być prawdą lub fałszem.
String- Są to literały tekstowe, które są przedstawiane w postaci ciągu znaków. Na przykład „Hello World”.
Nil - Służy do reprezentowania wartości NULL w Clojure.
Atom- Atomy umożliwiają zarządzanie współdzielonym, synchronicznym, niezależnym stanem. Są typem referencyjnym, takim jak refs i vars.
Wartości powiązane
Ponieważ wszystkie typy danych w Clojure są dziedziczone z Javy, ograniczone wartości są takie same jak w języku programowania Java. W poniższej tabeli przedstawiono maksymalne dozwolone wartości literałów liczbowych i dziesiętnych.
dosłowne | Zakresy |
---|---|
Krótki | -32 768 do 32767 |
int | -2 147 483 648 do 2 147 483 647 |
długie | -9.223.372.036.854.775.808 do +9.223.372.036.854.775.807 |
pływak | 1.40129846432481707e-45 do 3.40282346638528860e + 38 |
podwójnie | 4.94065645841246544e-324d do 1.79769313486231570e + 308d |
Typy liczbowe klas
Oprócz typów pierwotnych dozwolone są następujące typy obiektów (czasami nazywane typami opakowań).
Nazwa |
---|
java.lang.Byte |
java.lang.Short |
java.lang.Integer |
java.lang.Long |
java.lang.Float |
java.lang.Double |
Przykład
Poniższy program przedstawia skonsolidowany kod clojure, aby zademonstrować typy danych w 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)
Wynik
Powyższy program generuje następujące dane wyjściowe.
1
1.25
Hello