
Pattern Matching
match-Ausdrücke, if let, while let, Destrukturierung, Guards, @-Bindings, Vollständigkeit
1Was ist die korrekte Syntax für einen einfachen match-Ausdruck in Rust?
Was ist die korrekte Syntax für einen einfachen match-Ausdruck in Rust?
Antwort
Der match-Ausdruck in Rust verwendet das Schlüsselwort match, gefolgt vom zu analysierenden Wert, dann geschweifte Klammern, die die verschiedenen Arme (Patterns) enthalten, getrennt durch Kommas. Jeder Arm verwendet das Pattern, gefolgt von => und dem auszuführenden Code. Diese Syntax ermöglicht es dem Compiler zu überprüfen, dass alle möglichen Fälle abgedeckt sind.
2Welches Pattern sollte verwendet werden, um alle verbleibenden Werte in einem match zu erfassen?
Welches Pattern sollte verwendet werden, um alle verbleibenden Werte in einem match zu erfassen?
Antwort
Das _ (underscore) Pattern ist das catch-all Pattern in Rust. Es passt auf jeden Wert, ohne ihn an eine Variable zu binden. Alternativ erfasst die Verwendung eines Variablennamens (wie other oder n) den Wert. Das _ wird bevorzugt, wenn der Wert nicht verwendet wird, da es die Absicht klar zum Ausdruck bringt.
3Wie funktioniert if let im Vergleich zu match?
Wie funktioniert if let im Vergleich zu match?
Antwort
if let ist eine Kurzschreibweise für ein match, das nur ein Pattern behandelt und die anderen ignoriert. Anstatt ein vollständiges match mit einem _ catch-all arm zu schreiben, ermöglicht if let das prägnante Extrahieren eines Werts, wenn nur ein bestimmter Fall relevant ist. Es ist besonders nützlich mit Option und Result.
Was ist Exhaustiveness im Kontext des Rust pattern matching?
Wie wird ein Tuple in einem Pattern-Match destrukturiert?
+15 Interview-Fragen
Weitere Rust-Interviewthemen
Rust-Grundlagen
Ownership & Borrowing
Structs & Enums
Fehlerbehandlung
Collections
Module & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Makros
Serde & Serialisierung
Unsafe Rust
Fortgeschrittene Traits
Fortgeschrittene Lifetimes
Type System
Tokio & Async I/O
Performance-Optimierung
Memory Management
Web Frameworks
Database Integration
Rust Design Patterns
Meistere Rust für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten