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