
Iterators & Closures
Iterator-Trait, Iterator-Adapter (map, filter, fold), Closure-Syntax, move Closures, Fn-Traits
1Welches Trait muss ein Typ implementieren, um in einer for-Schleife in Rust verwendet werden zu können?
Welches Trait muss ein Typ implementieren, um in einer for-Schleife in Rust verwendet werden zu können?
Antwort
Das IntoIterator-Trait ermöglicht es, einen Typ in einen Iterator umzuwandeln. Die for-Schleife ruft automatisch into_iter() auf dem Ausdruck auf. Typen wie Vec, Arrays und Ranges implementieren dieses Trait standardmäßig, wodurch man sie direkt mit for durchlaufen kann.
2Welche Methode des Iterator-Traits muss zwingend implementiert werden?
Welche Methode des Iterator-Traits muss zwingend implementiert werden?
Antwort
Die next()-Methode ist die einzige erforderliche Methode des Iterator-Traits. Sie gibt Option<Self::Item> zurück, entweder Some(item), wenn noch Elemente vorhanden sind, oder None, wenn die Iteration abgeschlossen ist. Alle anderen Methoden wie map, filter oder collect haben Standardimplementierungen, die auf next() basieren.
3Was ist der Unterschied zwischen iter(), iter_mut() und into_iter() bei einem Vec<T>?
Was ist der Unterschied zwischen iter(), iter_mut() und into_iter() bei einem Vec<T>?
Antwort
iter() gibt einen Iterator über unveränderliche Referenzen (&T) zurück, iter_mut() über veränderliche Referenzen (&mut T), und into_iter() konsumiert den Vec und gibt die Elemente als Wert (T) zurück. Die Wahl hängt davon ab, ob man die Elemente lesen, ändern oder deren Besitz übernehmen möchte.
Was ist ein lazy Iterator in Rust und warum ist das wichtig?
Was ist die korrekte Syntax, um eine Closure zu definieren, die zwei i32-Parameter nimmt und deren Summe zurückgibt?
+19 Interview-Fragen
Weitere Rust-Interviewthemen
Rust-Grundlagen
Ownership & Borrowing
Structs & Enums
Fehlerbehandlung
Collections
Module & Packages
Traits
Generics
Lifetimes
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
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