Unit-вариант
Unit-вариант - это вариант перечисления (enum),
который не содержит никаких данных. Он объявляется
без круглых или фигурных скобок, только по имени.
Такие варианты удобно использовать для
представления состояний или флагов, когда
дополнительная информация не требуется.
Синтаксис
enum EnumName
{
VariantName
}
Пример
Давайте создадим перечисление с unit-вариантами и выведем одно из значений:
enum Color
{
Red,
Green,
Blue
}
fn main()
{
let res = Color::Red;
match res
{
Color::Red => println!("Red"),
Color::Green => println!("Green"),
Color::Blue => println!("Blue"),
}
}
Результат выполнения кода:
"Red"
Пример
Unit-варианты можно использовать в if let
для проверки конкретного состояния:
enum Status
{
Active,
Inactive,
Pending
}
fn main()
{
let res = Status::Active;
if let Status::Active = res
{
println!("Status is active");
}
}
Результат выполнения кода:
"Status is active"
Смотрите также
-
перечисление
enum,
которое объединяет несколько вариантов в один тип -
tuple-вариант,
который хранит данные в виде кортежа -
struct-вариант,
который хранит данные в виде структуры -
оператор
match,
который позволяет сопоставлять варианты перечисления