Latest web development tutorials

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


$