
Generics
Generic Funktionen, Structs, Enums, Trait Bounds, where clause, Monomorphization
1Was ist die korrekte Syntax zum Deklarieren einer generic Funktion in Rust?
Was ist die korrekte Syntax zum Deklarieren einer generic Funktion in Rust?
Antwort
In Rust werden generic Type Parameter mit angle brackets nach dem Funktionsnamen deklariert. Die Syntax fn name<T>(param: T) gibt an, dass T ein Type Parameter ist, der bei der Verwendung bestimmt wird. Der Compiler erzeugt anschließend spezialisierten Code für jeden konkreten Typ, der beim Aufruf der Funktion verwendet wird.
2Wie deklariert man eine generic Struct mit einem Feld vom Typ T?
Wie deklariert man eine generic Struct mit einem Feld vom Typ T?
Antwort
Eine generic Struct wird mit dem Type Parameter in angle brackets nach dem Struct-Namen deklariert. Die Syntax struct Name<T> { field: T } ermöglicht das Erstellen einer wiederverwendbaren Struktur mit verschiedenen Typen. Der Typ T kann dann in Feldern und Methoden verwendet werden, die mit dieser Struct verknüpft sind.
3Was ist Monomorphization in Rust?
Was ist Monomorphization in Rust?
Antwort
Monomorphization ist der Prozess, bei dem der Rust-Compiler spezialisierten Maschinencode für jeden konkreten Typ erzeugt, der mit einem Generic verwendet wird. Wird beispielsweise eine generic Funktion mit i32 und String aufgerufen, erstellt der Compiler zwei verschiedene Versionen dieser Funktion. Dies gewährleistet optimale Performance ohne Laufzeit-Overhead.
Wie fügt man einen trait bound zu einem generischen Parameter T hinzu?
Was ist der Unterschied zwischen der Syntax impl<T> Struct<T> und impl Struct<i32>?
+17 Interview-Fragen
Weitere Rust-Interviewthemen
Rust-Grundlagen
Ownership & Borrowing
Structs & Enums
Fehlerbehandlung
Collections
Module & Packages
Traits
Lifetimes
Iterators & Closures
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