rust / beginner
Snippet
Musterabgleich mit match
Der match-Ausdruck vergleicht einen Wert mit mehreren Mustern und fuhrt den ersten passenden Arm aus. Er muss erschopfend sein und alle moglichen Werte mit einem Platzhalter _ abdecken. Du kannst Bereiche (2..=5), Wachen (if Bedingung) und Variablen-Capturing (n) verwenden.
snippet.rs
1
2
3
4
5
6
7
8
9
10
fn main() {let number = 7;match number {1 => println!("One"),2..=5 => println!("Two to Five"),n if n % 2 == 0 => println!("Even number"),_ => println!("Other: {}", number),}}
Erklärung
1
match number {
Startet den Musterabgleich auf der Variable number
2
1 => println!("One"),
Matcht den literalen Wert 1 genau
3
2..=5 => println!("Two to Five"),
Matcht jeden Wert von 2 bis 5 inklusive
4
n if n % 2 == 0 => println!("Even number"),
Guard-Muster: fangt Wert ab und pruft Bedingung
5
_ => println!("Other: {}", number),
Platzhalter fangt alle verbleibenden Falle ab