
Generics
Funkcje generic, struct, enum, trait bounds, where clause, monomorphization
1Jaka jest poprawna składnia deklarowania funkcji generic w Rust?
Jaka jest poprawna składnia deklarowania funkcji generic w Rust?
Odpowiedź
W Rust generic type parameter deklaruje się za pomocą angle brackets po nazwie funkcji. Składnia fn name<T>(param: T) wskazuje, że T jest type parameter, który zostanie określony podczas użycia. Następnie kompilator generuje wyspecjalizowany kod dla każdego konkretnego typu używanego przy wywołaniu funkcji.
2Jak zadeklarować generic struct z polem typu T?
Jak zadeklarować generic struct z polem typu T?
Odpowiedź
generic struct deklaruje się z type parameter w angle brackets po nazwie struct. Składnia struct Name<T> { field: T } pozwala tworzyć strukturę wielokrotnego użytku z różnymi typami. Typ T można następnie wykorzystać w polach i metodach powiązanych z tą struct.
3Czym jest monomorphization w Rust?
Czym jest monomorphization w Rust?
Odpowiedź
monomorphization to proces, w którym kompilator Rust generuje wyspecjalizowany kod maszynowy dla każdego konkretnego typu używanego z generic. Na przykład, jeśli funkcja generic jest wywoływana z i32 i String, kompilator tworzy dwie odrębne wersje tej funkcji. Zapewnia to optymalną wydajność bez narzutu w czasie wykonania.
Jak dodać trait bound do parametru generic T?
Jaka jest różnica między składnią impl<T> Struct<T> a impl Struct<i32>?
+17 pytań z rozmów
Inne tematy rekrutacyjne Rust
Podstawy Rusta
Ownership & Borrowing
Structs & Enums
Obsługa błędów
Kolekcje
Moduły i pakiety
Traits
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Makra
Serde i serializacja
Unsafe Rust
Zaawansowane traity
Zaawansowane Lifetime
Type System
Tokio & Async I/O
Optymalizacja Wydajności
Memory Management
Web Frameworks
Database Integration
Wzorce projektowe w Rust
Opanuj Rust na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo