Domine o Scala rapidamente

 
import java.awt._  // 引入包内所有成员
 
def handler(evt: event.ActionEvent) {
    
     // java.awt.event.ActionEvent
  ...  // 因为引入了java.awt,所以可以省去前面的部分
}

import java.awt.{
    
    Color, Font}
 
// 重命名成员
import java.util.{
    
    HashMap => JavaHashMap}
 
// 隐藏成员
import java.util.{
    
    HashMap => _, _} // 引入了util包的所有成员,但是HashMap被隐藏了

Literal simbólico

O tipo de símbolo é geralmente usado para comparação rápida, como tipo de Mapa: Mapa <Símbolo, Dados>, de acordo com um objeto Símbolo, você pode consultar rapidamente os Dados correspondentes, enquanto a eficiência da consulta de Mapa <String, Dados> é muito menor.

Reimpresso: Símbolo de compreensão em escala

    for (a <- 1 to 10; b <- 1 until 10
         if a * b > 50
    ) {
    
    
      println(a + " , " + b)
    }
//IndexedSeq[Int]
    var retVal = for {
    
    a <- 1 to 10 if a != 3} yield a

No Scala, você pode usar a instrução val para definir funções e a instrução def para definir métodos.

def m(x: Int) = x + 2

val f = (x: Int) => x + 2

Insira a descrição da imagem aqui

Função de ordem superior, modelo

  // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v
  def apply(f: Int => String, v: Int): String = f(v)

  def layout[A](x: A): String = "[" + x.toString() + "]"

Função parcial

val logWithDateBound = log(date, _ : String)

Acho que você gosta

Origin blog.csdn.net/TQCAI666/article/details/111918948
Recomendado
Clasificación