Escala :
Site oficial: https://www.scala-lang.org/
Scala é uma linguagem de programação funcional orientada a objeto pura, e os tipos de dados básicos em scala também são objetos (semelhantes às classes de empacotamento de tipos de dados básicos em java)
Características:
1. Integre perfeitamente com java e execute em jvm
2. Inferência de tipo, referência de tipo fraco, de acordo com o contexto pode inferir o tipo da variável declarada
3. Concorrência e distribuição, refletida no funcionamento da cobrança (Ator)
4. Traços, características, traços, combinando a flexibilidade da interface de estilo Java com as funções poderosas da classe. Considere a herança múltipla baseada em princípios. (Programação orientada a interface, semelhante a interfaces e classes abstratas em java) Traço de palavra-chave
5. Correspondência de padrões;
6. Funções de ordem superior
Instalação e uso:
1. Baixe o pacote de ambiente diretamente do site oficial e configure as variáveis de ambiente da mesma forma que java
O ambiente requer jdk8 ou superior, às vezes o jdk8 apresenta problemas. Quando um erro for relatado, atualize o jdk ou diminua a versão do scala
Por exemplo, quando um erro foi relatado, jdk8 também foi usado no momento, mas ainda não era aplicável. Finalmente, baixe uma versão inferior do scala para resolvê-lo.
2. Use o IDE, o site oficial para baixar o Eclipse integrado ao Scala ou use o idea para baixar o plugin
Módulo de gramática
tipo de dados
1. Tipos de dados básicos: Byte, Short, Int, Long, Float, Double, Char, Boolean
2. Tipo de string: String
3. Unidade: significa nenhum valor, semelhante ao vazio
4. Nulo
5. Nada: todos os outros tipos de subtipos, o que significa nenhum valor
6. Qualquer: Todos os tipos de superclasses, qualquer instância pertence ao tipo Qualquer
7. AnyRef: Superclasse de todos os tipos de referência
8. AnyVal: Superclasse de todos os tipos de valor
Definição de tipo
var define variáveis var v = 10; equivalente a var v: Int = 10
val define variáveis imutáveis, val v = 10
Exemplo de código: helloWord em scala
// 声明一个scala object object TestScalaObject { // scala中的main方法, object中才能使用main方法 def main(args: Array[String]): Unit = { // 声明变量 scala中语句后可以不带分号 ; var v1 = 10 val v2 = 12 // 不可变的变量,重新复制报错 print(v1 + v2) // 输出22 } }
Classes e objetos em scala
Classes e objetos em scala podem ter o mesmo nome. Classes e objetos com o mesmo nome são chamados de classes complementares e objetos associados, respectivamente, e os objetos associados podem acessar os atributos privados de classes associadas;
As propriedades em objeto são imutáveis por padrão como val, e aquelas declaradas como var também são estáticas, e o método padrão também é estático;
Aulas de Scala
// 声明一个scala类 ,属性必须有默认值,没有默认值需要将他设置为抽象类 // TestScalaClass(name: String,age: Int) 默认构造器 // 声明其他的构造器的时候必须调用默认构造器 class TestScalaClass(name: String,age: Int) { var namex = name ; val agex = age; var gender = ""; // 三个参数的构造器 def this(name: String,age: Int,g: String) { this(name,age) this.gender = g } // 无参构造器 def this(){ // 必须调用 类上声明的 构造器 this("",0) }
Loops e declarações de julgamento em scala
def main(args: Array[String]): Unit = { // 1. 使用 to 包头包尾 for(i<- 1 to 10) { println(i) // 1-10 } // 2. 使用 until for(i <- 1 until 10) { print(i) // 1-9 } // 3. 加入判断 for(i <- 1 to 10 ;if(i%2 ==0 && i >5 || i==2)){ print(i) } // 4. if else,while ,do... while 和java一致 // 5. scala中不能使用 ++ 例如 count++