Rust

Generics

Funkcje generic, struct, enum, trait bounds, where clause, monomorphization

20 pytań z rozmów·
Mid-Level
1

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.

2

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.

3

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.

4

Jak dodać trait bound do parametru generic T?

5

Jaka jest różnica między składnią impl<T> Struct<T> a impl Struct<i32>?

+17 pytań z rozmów

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