Partage de technologie

Un article sur la prise en main du langage Scala

2024-07-08

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

Scala est un langage de programmation moderne qui combine les fonctionnalités de la programmation orientée objet et de la programmation fonctionnelle pour permettre d'écrire du code concis, évolutif et efficace.

1. Qu'est-ce que Scala ?

Scala (Scalable Language) est un langage de programmation orienté objet et fonctionnel. Il fonctionne sur JVM (Java Virtual Machine), est hautement compatible avec Java et peut interagir de manière transparente avec le code Java. Scala a été conçu pour répondre à une partie de la verbosité de Java tout en introduisant des fonctionnalités de langages de programmation modernes telles que l'inférence de type et la correspondance de modèles.

2. Installez Scala

Pour commencer à utiliser Scala, vous devez installer le compilateur Scala et sbt (Scala Build Tool). Vous pouvez les télécharger et les installer à partir de la documentation officielle de Scala.

3. Grammaire de base

3.1 Bonjour, Scala !

Nous commençons par un simple programme « Hello, World ! »

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

Dans cet exemple, nous définissons un objet singletonHelloScala, qui contient unmainméthode, similaire à celle de Javamainméthode.printlnUtilisé pour imprimer des chaînes sur la console.

3.2 Variables et constantes

Il existe deux types de variables dans Scala :var(variable) etval(constante).

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

val country = "中国"
var year = 2024

valLes variables déclarées sont immuables (similaire à Javafinal),etvarLes variables déclarées sont mutables.

3.3 Fonctions

Les définitions de fonctions dans Scala sont très concises.

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

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

Ici, nous définissons un fichier appeléaddUne fonction qui accepte deux arguments entiers et renvoie leur somme.

4. Programmation orientée objet

Scala prend entièrement en charge la programmation orientée objet (POO).

4.1 Classes et objets

Définissez une classe et un objet 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()

Dans cet exemple, nous définissons unPersonclasse, contenant deux attributsnameetage, et une méthodegreet

4.2 Héritage

L'héritage dans Scala est similaire à 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.

Nous avons défini unEmployeeclasse, héritée dePersonclasse et remplacégreetméthode.

5. Programmation fonctionnelle

Scala prend en charge de nombreuses fonctionnalités de programmation fonctionnelle, telles que les fonctions d'ordre supérieur et la correspondance de modèles.

5.1 Fonctions d'ordre supérieur

Les fonctions d'ordre supérieur sont des fonctions qui peuvent accepter d'autres fonctions comme paramètres ou fonctions de retour.

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