IT-Lexikon › Programmierung › Pattern Matching

Pattern Matching

Programmierung Svenska → Aktualisiert: 2026-09-09

Sprachfeature: Werte werden per Destrukturierung gegen strukturelle Muster geprüft — als Expression. In der ML-Familie (OCaml, Haskell) seit den 1970ern Standard. Moderne Verbreitung: Rust, Scala, Swift, Java 21+, Python 3.10+ (match-Statement).

Rust: match opt { Some(x) => x * 2, None => 0 }. Java 21: switch (obj) { case Integer i -> ..., case String s when s.length() > 10 -> ... }. Die Stärke liegt in der Kombination aus Destrukturierung, Verzweigung und Exhaustivitätsprüfung. Zu unterscheiden von Regex (Textmuster) oder switch-case (Wertgleichheit). Trade-off: mächtige Syntax, aber eine gewisse Lernkurve. Modernes OOP-Gegenstück zum Visitor-Pattern. Algebraische Datentypen (Summentypen) + Pattern Matching ergeben das Idiom „ungültige Zustände unrepräsentierbar machen".

← Zurück zum Lexikon