Compartilhamento de tecnologia

Um artigo sobre como começar a usar a linguagem Scala

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Scala é uma linguagem de programação moderna que combina recursos de programação orientada a objetos e programação funcional para possibilitar a escrita de código conciso, escalável e eficiente.

1. O que é Scala?

Scala (Scalable Language) é uma linguagem de programação funcional e orientada a objetos. Ele roda em JVM (Java Virtual Machine), é altamente compatível com Java e pode interoperar perfeitamente com código Java. Scala foi projetado para abordar parte da verbosidade do Java e, ao mesmo tempo, introduzir recursos de linguagens de programação modernas, como inferência de tipos e correspondência de padrões.

2. Instale o Scala

Para começar a usar Scala, você precisa instalar o compilador Scala e o sbt (Scala Build Tool). Você pode baixá-los e instalá-los na documentação oficial do Scala.

3. Gramática básica

3.1 Olá, Scala!

Começamos com um programa simples “Hello, World!”.

object HelloScala {
  def main(args: Array[String]): Unit = {
    println("Hello, Scala!")
  }
}

Neste exemplo, definimos um objeto singletonHelloScala, que contém ummainmétodo, semelhante ao em Javamainmétodo.printlnUsado para imprimir strings no console.

3.2 Variáveis ​​e constantes

Existem dois tipos de variáveis ​​no Scala:var(variável) eval(constante).

val name: String = "Scala"  // 常量
var age: Int = 10           // 变量

val country = "中国"
var year = 2024

valVariáveis ​​declaradas são imutáveis ​​(semelhantes a Javafinal),evarVariáveis ​​declaradas são mutáveis.

3.3 Funções

As definições de funções no Scala são muito concisas.

def add(a: Int, b: Int): Int = {
  a   b
}

println(add(3, 5))  // 输出: 8
s

Aqui definimos um arquivo chamadoaddUma função que aceita dois argumentos inteiros e retorna sua soma.

4. Programação orientada a objetos

Scala oferece suporte total à programação orientada a objetos (OOP).

4.1 Classes e Objetos

Defina uma classe e um objeto simples.

class Person(val name: String, var age: Int) {
  def greet(): Unit = {
    println(s"Hello, 我的名字: $name ,我的年龄是 $age。")
  }
}

val person = new Person("Alice", 25)
person.greet()

Neste exemplo definimos umPersonclasse, contendo dois atributosnameeagee um métodogreet

4.2 Herança

A herança em Scala é semelhante a Java.

class Employee(name: String, age: Int, val company: String) extends Person(name, age) {
  override def greet(): Unit = {
    println(s"Hello, my name is $name, I work at $company, and I am $age years old.")
  }
}

val employee = new Employee("Bob", 30, "Google")
employee.greet()  // 输出: Hello, my name is Bob, I work at Google, and I am 30 years old.

Definimos umEmployeeclasse, herdada dePersonclasse e substituídogreetmétodo.

5. Programação funcional

Scala oferece suporte a muitos recursos de programação funcional, como funções de ordem superior e correspondência de padrões.

5.1 Funções de ordem superior

Funções de ordem superior são funções que podem aceitar outras funções como parâmetros ou funções de retorno.

def applyOperation(a: Int, b: Int, operation: (Int, Int) =