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

Введение в трейты в Rust

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

В других языках похожую роль иногда называют интерфейсом: список операций без привязки к одной структуре. В Rust для этого служит трейт. Имя трейта видно в сигнатуре функции и в блоке выполнения для типа, поэтому код сразу показывает, какие действия ожидаются.

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

Дальше разберем объявление набора методов, отдельный блок выполнения для типа, тело метода прямо в описании трейта, параметр с ограничением по трейту, сразу два требования к типу и стандартный перевод между типами.

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