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