
Generics
Generic функції, struct, enum, trait bounds, where clause, monomorphization
1Який правильний синтаксис для оголошення generic функції в Rust?
Який правильний синтаксис для оголошення generic функції в Rust?
Відповідь
У Rust generic type parameter оголошуються за допомогою angle brackets після імені функції. Синтаксис fn name<T>(param: T) вказує, що T — це type parameter, який буде визначено під час використання. Потім компілятор генерує спеціалізований код для кожного конкретного типу, що використовується під час виклику функції.
2Як оголосити generic struct з полем типу T?
Як оголосити generic struct з полем типу T?
Відповідь
generic struct оголошується з type parameter в angle brackets після імені struct. Синтаксис struct Name<T> { field: T } дозволяє створити повторно використовувану структуру з різними типами. Тип T потім можна використовувати в полях і методах, пов'язаних із цією struct.
3Що таке monomorphization у Rust?
Що таке monomorphization у Rust?
Відповідь
monomorphization — це процес, за допомогою якого компілятор Rust генерує спеціалізований машинний код для кожного конкретного типу, що використовується з generic. Наприклад, якщо generic функцію викликають з i32 і String, компілятор створює дві окремі версії цієї функції. Це забезпечує оптимальну продуктивність без накладних витрат під час виконання.
Як додати trait bound до generic параметра T?
Яка різниця між синтаксисами impl<T> Struct<T> та impl Struct<i32>?
+17 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Ownership & Borrowing
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Макроси
Serde та серіалізація
Unsafe Rust
Просунуті trait'и
Просунуті Lifetimes
Type System
Tokio & Async I/O
Оптимізація продуктивності
Memory Management
Web Frameworks
Database Integration
Патерни проєктування Rust
Опануй Rust для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно