Rust

Generics

Generic функції, struct, enum, trait bounds, where clause, monomorphization

20 питань зі співбесід·
Mid-Level
1

Який правильний синтаксис для оголошення generic функції в Rust?

Відповідь

У Rust generic type parameter оголошуються за допомогою angle brackets після імені функції. Синтаксис fn name<T>(param: T) вказує, що T — це type parameter, який буде визначено під час використання. Потім компілятор генерує спеціалізований код для кожного конкретного типу, що використовується під час виклику функції.

2

Як оголосити generic struct з полем типу T?

Відповідь

generic struct оголошується з type parameter в angle brackets після імені struct. Синтаксис struct Name<T> { field: T } дозволяє створити повторно використовувану структуру з різними типами. Тип T потім можна використовувати в полях і методах, пов'язаних із цією struct.

3

Що таке monomorphization у Rust?

Відповідь

monomorphization — це процес, за допомогою якого компілятор Rust генерує спеціалізований машинний код для кожного конкретного типу, що використовується з generic. Наприклад, якщо generic функцію викликають з i32 і String, компілятор створює дві окремі версії цієї функції. Це забезпечує оптимальну продуктивність без накладних витрат під час виконання.

4

Як додати trait bound до generic параметра T?

5

Яка різниця між синтаксисами impl<T> Struct<T> та impl Struct<i32>?

+17 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно