rust / intermediate
Snippet
Slice-Muster in Funktionsparametern
Slice-Muster in match-Ausdrücken destruktorisieren Arrays und Slices prägnant. Das .. passt auf den Rest des Slices und ermöglicht es, spezifische Elemente zu erfassen während der Rest ignoriert wird. Kombiniert mit Funktionsparametern ermöglicht dies flexible Slice-Handhabung.
snippet.rs
1
2
3
4
5
6
7
8
9
10
11
fn sum_first_three(arr: &[i32]) -> Option<i32> {match arr {[a, b, c, ..] => Some(a + b + c),_ => None,}}fn main() {let nums = [1, 2, 3, 4, 5];println!("{:?}", sum_first_three(&nums));}
Erklärung
1
[a, b, c, ..]
Bindet erste drei Elemente, ignoriert Rest mit ..
2
arr: &[i32]
Funktion akzeptiert eine Slice-Referenz, kein eigenes Array