Clojure - Types de données

Clojure propose une grande variété de built-in data types.

Types de données intégrés

Voici une liste des types de données définis dans Clojure.

  • Integers - Voici la représentation des nombres entiers disponibles dans Clojure.

    • Decimal Integers (Short, Long and Int)- Ils sont utilisés pour représenter des nombres entiers. Par exemple, 1234.

    • Octal Numbers- Ils sont utilisés pour représenter les nombres en représentation octale. Par exemple, 012.

    • Hexadecimal Numbers- Ils sont utilisés pour représenter les nombres dans la représentation. Par exemple, 0xff.

    • Radix Numbers- Ils sont utilisés pour représenter les nombres dans la représentation de base. Par exemple, 2r1111 où la base est un entier compris entre 2 et 36 inclus.

  • Floating point

    • La valeur par défaut est utilisée pour représenter des nombres à virgule flottante 32 bits. Par exemple, 12.34.

    • L'autre représentation est la notation scientifique. Par exemple, 1,35e-12.

  • char- Ceci définit un seul caractère littéral. Les caractères sont définis avec le symbole de jeu. Par exemple, / e.

  • Boolean - Cela représente une valeur booléenne, qui peut être vraie ou fausse.

  • String- Ce sont des textes littéraux qui sont représentés sous la forme d'une chaîne de caractères. Par exemple, «Hello World».

  • Nil - Ceci est utilisé pour représenter une valeur NULL dans Clojure.

  • Atom- Les atomes fournissent un moyen de gérer un état partagé, synchrone et indépendant. Ils sont un type de référence comme les refs et les vars.

Valeurs liées

Étant donné que tous les types de données de Clojure sont hérités de Java, les valeurs limitées sont les mêmes que dans le langage de programmation Java. Le tableau suivant indique les valeurs maximales autorisées pour les littéraux numériques et décimaux.

littéraux Gammes
Court -32 768 à 32 767
int -2 147 483 648 à 2 147 483 647
longue -9.223.372.036.854.775.808 à +9.223.372.036.854.775.807
flotte 1.40129846432481707e-45 à 3.40282346638528860e + 38
double 4,94065645841246544e-324d à 1,79769313486231570e + 308d

Types numériques de classe

En plus des types primitifs, les types d'objets suivants (parfois appelés types wrapper) sont autorisés.

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

Exemple

Le programme suivant montre un code de clojure consolidé pour illustrer les types de données dans 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)

Production

Le programme ci-dessus produit la sortie suivante.

1
1.25
Hello