English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Scala compartilha os mesmos tipos de dados com Java. A tabela a seguir lista os tipos de dados suportados pelo Scala:
Tipo de dados | Descrição |
---|---|
Byte | 8Número inteiro de sinal complemento à direita com sinal. O intervalo de valores é -128 até 127 |
Short | 16Número inteiro de sinal complemento à direita com sinal. O intervalo de valores é -32768 até 32767 |
Int | 32Número inteiro de sinal complemento à direita com sinal. O intervalo de valores é -2147483648 até 2147483647 |
Long | 64Número inteiro de sinal complemento à direita com sinal. O intervalo de valores é -9223372036854775808 até 9223372036854775807 |
Float | 32 IEEE 754 Número de precisão simples padrão |
Double | 64 IEEE 754 Número de precisão dupla padrão |
Char | 16Caractere Unicode sem sinal, intervalo de valores U+0000 até U+FFFF |
String | Sequência de caracteres |
Boolean | true ou false |
Unit | Representa um valor ausente, equivalente ao void em outros idiomas. Usado como tipo de resultado de métodos que não retornam nada. Unit possui apenas um valor instância, escrito como (). |
Nulo | null ou referência nula |
Nada | O tipo Nothing está na parte mais baixa da hierarquia de classes no Scala; é subtipo de qualquer outro tipo. |
Any | Any é a superclasse de todos os outros tipos |
AnyRef | A classe AnyRef é a classe base para todas as classes de referência (reference class) no Scala |
Os tipos de dados listados na tabela acima são objetos, o que significa que Scala não tem tipos nativos como no Java. Em Scala, é possível chamar métodos de tipos básicos como números.
Scala é muito simples e intuitivo. Vamos detalhar a seguir os literais Scala.
Literais inteiros são usados para o tipo Int, se representar Long, pode adicionar L ou l em minúsculo no final do número.:
0 035 21 0xFFFFFFFF 0777L
Se o número de ponto flutuante tiver o sufixo f ou F, é um tipo Float, caso contrário, é um tipo Double. Exemplo a seguir:
0.0 1e30f 3.14159f 1.0e100 .1
Literais booleanos têm true e false.
A expressão literal de símbolo é escrita como: '<identificador> aqui <identificador> Pode ser qualquer identificador composto por letras ou números (observe: não pode começar com um número). Este tipo de literal é mapeado para a instância da classe pré-definida scala.Symbol.
como: expressão literal de símbolo 'x é uma expressão scala.Symbol("x") abreviação, a definição da expressão literal de símbolo é conforme abaixo:
package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
Os caracteres literais em variáveis de String Scala são representados por aspas simples ' definido, conforme abaixo:
'a' '\u0041' '\n' '\t'
onde \ representa um caractere de escape, que pode ser seguido por u0041 Número ou \r\n e outros caracteres de escape fixos.
As strings literais em Scala usam aspas duplas " definido, conforme abaixo:
"Olá,\nMundo!" "Página do manual básico: pt.oldtoolbag.com"
As strings multi-líneas são representadas por três aspas duplas como delimitador, no formato:""" ... """.
Exemplo a seguir:
val foo = """Manual Básico pt.oldtoolbag.com pt.oldtoolbag.com www.runnoob.com Os três endereços acima podem acessar ""
O valor nulo é do tipo scala.Null.
Scala.Null e scala.Nothing são tipos especiais que tratam de certos "casos limite" do sistema de tipos orientado a objetos do Scala de maneira uniforme.
A classe Null é o tipo de referência de objeto null, que é subclasse de cada classe de referência (classe que herda de AnyRef). Null não é compatível com tipos de valor.
A tabela a seguir lista os caracteres de escape comuns:
Caracteres de Escape | Unicode | Descrição |
---|---|---|
\b | \u0008 | Backspace (BS), move a posição atual para a coluna anterior |
\t | \u0009 | Horizontal Tab (HT) (pula para a próxima posição de TAB) |
\n | \u000a | Line Feed (LF), move a posição atual para o início da próxima linha |
\f | \u000c | Form Feed (FF), move a posição atual para o início da próxima página |
\r | \u000d | Carriage Return (CR), move a posição atual para o início da linha |
\" | \u0022 | representa um caractere de aspa dupla (") |
\' | \u0027 | representa um caractere de aspa simples (') |
\\ | \u005c | representa um caractere de barra invertida '\' |
0 até 255 o caractere Unicode entre máximo de três octal.
Em caracteres ou strings, a barra invertida e a sequência de caracteres subsequentes não podem constituir uma sequência de escape válida, o que causará Erro de Compilação.
A seguir, demonstramos o uso de alguns caracteres de escape:
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n"); } }
Os resultados de execução após a execução são os seguintes:
$ scalac Test.scala $ scala TestHello World