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

Варианты с данными в Rust

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

Запись значения повторяет объявление: имя варианта и данные в тех же скобках:

fn main() { enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Circle(10); }

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

fn main() { enum Shape { Circle(i32), Rect(i32, i32), } let shape = Shape::Rect(4, 7); }

Дано перечисление:

enum Packet { Ping(i32), Pong, } let p = Packet::Ping(3);

Запишите в p вариант Pong без скобок в main.rs.

Дано перечисление:

enum Size { One(i32), Pair(i32, i32), } let s = Size::One(5);

Перезапишите s вариантом с двумя числами 2 и 8.

Объявите перечисление Msg с вариантом Code и одним числом и вариантом Empty без данных. Запишите в переменную вариант Code с числом 1 в main.rs.

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