Clojure - Tipos de dados

Clojure oferece uma grande variedade de built-in data types.

Tipos de dados integrados

A seguir está uma lista de tipos de dados que são definidos no Clojure.

  • Integers - A seguir estão as representações dos inteiros disponíveis no Clojure.

    • Decimal Integers (Short, Long and Int)- São usados ​​para representar números inteiros. Por exemplo, 1234.

    • Octal Numbers- São usados ​​para representar números na representação octal. Por exemplo, 012.

    • Hexadecimal Numbers- São usados ​​para representar números na representação. Por exemplo, 0xff.

    • Radix Numbers- São usados ​​para representar números na representação da raiz. Por exemplo, 2r1111 em que o radical é um número inteiro entre 2 e 36, inclusive.

  • Floating point

    • O padrão é usado para representar números de ponto flutuante de 32 bits. Por exemplo, 12,34.

    • A outra representação é a notação científica. Por exemplo, 1.35e-12.

  • char- Isso define um único literal de caractere. Os caracteres são definidos com o símbolo de folga. Por exemplo, / e.

  • Boolean - Isso representa um valor booleano, que pode ser verdadeiro ou falso.

  • String- Estes são literais de texto que são representados na forma de uma cadeia de caracteres. Por exemplo, “Hello World”.

  • Nil - Isso é usado para representar um valor NULL em Clojure.

  • Atom- Os átomos fornecem uma maneira de gerenciar o estado independente, síncrono e compartilhado. Eles são um tipo de referência como refs e vars.

Valores Vinculados

Como todos os tipos de dados em Clojure são herdados de Java, os valores limitados são iguais aos da linguagem de programação Java. A tabela a seguir mostra os valores máximos permitidos para os literais numéricos e decimais.

literais Gamas
Curto -32.768 a 32.767
int -2.147.483.648 a 2.147.483.647
longo -9.223.372.036.854.775.808 a +9.223.372.036.854.775.807
flutuador 1.40129846432481707e-45 a 3.40282346638528860e + 38
Duplo 4.94065645841246544e-324d a 1.79769313486231570e + 308d

Tipos de classe numéricos

Além dos tipos primitivos, os seguintes tipos de objeto (às vezes chamados de tipos de invólucro) são permitidos.

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

Exemplo

O programa a seguir mostra um código de clojure consolidado para demonstrar os tipos de dados em 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)

Resultado

O programa acima produz a seguinte saída.

1
1.25
Hello