tipos de dados Scala
Scala e Java têm o mesmo tipo de dados, a seguinte tabela lista os tipos de dados suportados Scala:
Tipos de dados | descrição |
---|---|
byte | 8-bit assinado complemento inteiro. faixa de valor é -128 a 127 |
curto | 16-bit assinado complemento inteiro. faixa de valor -32.768-32.767 |
int | 32-bit assinado complemento inteiro. faixa de valor de -2147483648 a 2147483647 |
longo | 64-bit assinado complemento inteiro. intervalo numérico -9223372036854775808 para 9223372036854775807 |
flutuador | 32-bit único ponto flutuante de precisão IEEE754 |
duplo | 64-bit único ponto flutuante de precisão IEEE754 |
carbonizar | 16 unsigned U de caracteres Unicode + 0000 para uma faixa de valor U + FFFF |
corda | sequência de caracteres |
boolean | verdadeiro ou falso |
unidade | Ela representa nenhum valor, e outras línguas equivalentes vazios. Usada como um método não retorna qualquer resultado resultar tipo. Unidade é apenas uma instância do valor, por escrito (). |
nulo | referências nulas ou vazias |
nada | tipos Nada hierarquia de classes do Scala mais low-end, é qualquer outro tipo de subtipo. |
qualquer | Qualquer superclasse de todas as outras classes |
AnyRef | AnyRef classe em Scala é todas as classes referenciadas (classe de referência) da classe base |
tipos de dados de objecto estão listados na tabela, o que significa que não há Scala Java nativos de tipos. No scala pode ligar para o outro tipo básico de digital.
Scala base literal
Scala é muito simples e intuitiva. Em seguida, vamos detalhe literais Scala.
literais inteiros
tipo int representação de inteiros, se expressa longa, pode ser adicionado como um sufixo L ou l minúsculo após o número. :
0 035 21 0xFFFFFFFF 0777L
literais flutuador
Se existe por trás da float f ou sufixo F indica que este é um tipo Float, caso contrário, um tipo duplo. Exemplos são os seguintes:
0.0 1e30f 3.14159f 1.0e100 .1
Os literais booleanos
literais booleanos têm o verdadeiro eo falso.
símbolos literais
Símbolo literal está escrito:'<identifier>, onde <identifier>pode ser qualquer letra ou número de identificação (Nota: Você não pode começar com um número). Este literal é mapeado para uma instância da classe scala.Symbol predefinido.
Tais como: o símbolo literal"x é o scala.Symbolexpressão(" x ")literais símbolo estenografia são definidos como se segue:package scala final case class Symbol private (name: String) { override def toString: String = "'" + name }
caractere literal
Digite os caracteres representados na citação única meia largura scala ( ') caracteres, como segue:
'a' '\u0041' '\n' '\t'
Onde\ representa a transferência de caracteres, números, ou pode ser seguido u0041\ r \ n e outro caractere de escape fixo.
string literal
representação de cadeia está entre aspas duplas ( ") contém uma série de personagens, tais como:
"Hello,\nWorld!" "本教程官网:www.w3big.com"
cordas de várias linhas de representação
cordas Multi-line usando três pares de aspas para indicar o delimitador, formato:"" "..." "".
Exemplos são os seguintes:
val foo = """本教程 www.w3big.com www.w3cschool.cc www.runnoob.com 以上三个地址都能访问"""
valor nulo
Null é o tipo scala.Null.
Scala.Null e scala.Nothing é uma abordagem unificada para o sistema de tipo de Scala certas "condições de fronteira" de um tipo especial orientado a objetos.
Tipo de Null é o tipo de objeto nulo referência, que é uma referência para cada classe (herdado de AnyRef classe) subclasse. Os valores nulos não são tipos compatíveis.
caractere de escape Scala
A tabela a seguir lista caracteres de escape comuns:
caractere de escape | Unicode | descrição |
---|---|---|
\ B | \ U0008 | Backspace (BS), a posição atual com a anterior |
\ t | \ U0009 | guia horizontal (HT) (pule para a próxima posição TAB) |
\ N | \ U000c | avanço de linha (LF), a posição actual para o início da próxima linha |
\ F | \ U000c | FF (avanço), a posição actual para o início da próxima página |
\ R | \ u000D | Um retorno (CR), a posição actual para o início da linha |
\ " | \ u0022 | Representa um aspas duplas ( ") caractere |
\ ' | \ U0027 | Em nome de uma aspa simples ( ') personagem |
\\ | \ U005c | Representam um caractere de barra invertida '\' |
caracteres Unicode 0-255 pode usar uma sequência de escape octal para indicar que a barra invertida "\" seguido de até três octal.
A cadeia de caracteres ou de barra invertida sequência de caracteres eo seguinte não pode constituir uma sequência de escape válido resultará em um erro de compilação.
O exemplo seguinte demonstra o uso de alguns caracteres de escape:
object Test { def main(args: Array[String]) { println("Hello\tWorld\n\n" ); } }Correndo instância »
Executar o código acima dos resultados de saída são as seguintes:
$ scalac Test.scala $ scala Test Hello World $