Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpGnInr 17 of 288 menu
◀ ▶

Введение в обобщения в Rust

Обобщение позволяет записать одну функцию или один тип сразу для нескольких видов данных. Вместо копии под каждое число или строку в сигнатуре оставляют имя типа, а конкретный вид подставляют при использовании. Так меньше повторов и проще править общую логику.

Похожий прием встречается и у структур: поле может хранить значение разного типа, если тип структуры сам параметризован. Методы для такой структуры пишут в блоке, который повторяет то же имя типа, чтобы действия работали с любым подставленным видом.

Обобщение хорошо сочетается с трейтами. Имя типа можно ограничить набором методов, и тогда внутри функции доступны только те действия, которые обещал трейт. Длинное ограничение иногда выносят отдельной записью после списка параметров, чтобы сигнатура читалась короче.

Дальше разберем параметр типа у функции, вывод вида по аргументу, два независимых имени типа, структуру с полем-параметром, блок методов для такой структуры, ограничение трейтом, отдельную запись ограничения и число, известное при сборке.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить