Bases & syntaxe
val x = 42 // Déclaration d'une variable immutable
x = 30 // Erreur : ne peut pas modifier la valeur d'une val
var y = 10 // Déclaration d'une variable mutable
y = 20 // Modification de la valeur d'une var
Utilisez
valpour déclarer des valeurs immutables, etvarpour des variables mutables.
Structures de données
val list = List(1, 2, 3) // Liste immuable
val stack = Stack(1, 2, 3) // Pile LIFO (Last In First Out)
val queue = Queue(1, 2, 3) // File FIFO (First In First Out)
Utilisez
Listpour des collections immutables et fonctionnelles.
Fonctions & methodes essentielles
def add(a: Int, b: Int): Int = a + b // Déclaration d'une fonction avec paramètres
val result = add(3, 4) // Appel de la fonction
Utilisez
defpour définir des fonctions.
Patterns courants
val (a, b) = (1, 2) // Destructuration d'une paire
val List(x, y, z) = List(1, 2, 3) // Destructuration de la liste
Utilisez les patterns pour déstructurer des données complexes.
Operations avancees
val result = (1 to 10).map(_ * 2).filter(_ % 4 == 0).toList // Chaining de méthodes
Utilisez
map,filter, et autres méthodes pour traiter des collections fonctionnellement.
Debugging & outils
println(x) // Affiche la valeur de x dans la console
assert(x > 0, "x should be greater than zero") // Vérifie une condition
Utilisez
printlnetassertpour déboguer votre code.