Что такое enum?

Перечисления (enum) в Rust — это способ определения типа данных, который может принимать одно из нескольких возможных значений. Это похоже на перечисления в других языках программирования, таких как C или Java, но в Rust они обладают дополнительными возможностями.

Пример простого enum

Рассмотрим простой пример enum, который представляет собой тип данных для дней недели:
Здесь мы определили тип Weekday, который может принимать одно из семи значений: MondayTuesday и так далее.

Использование enum

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

Enum с данными

enum в Rust могут не только представлять собой простые значения, но и содержать данные. Например, мы можем определить enum, который представляет собой результат выполнения операции:
Здесь Result может быть либо успешным (Ok), либо ошибочным (Err). Внутри каждого варианта можно хранить данные. Например, мы можем использовать этот enum для обработки ошибок:
В этом примере мы используем enum Result, чтобы вернуть либо результат деления, либо сообщение об ошибке.

Заключение

Enum в Rust — это мощный инструмент, который позволяет создавать типы данных с несколькими возможными значениями. Они могут быть простыми или содержать данные, что делает их очень гибкими и полезными в различных ситуациях. Использование enum помогает сделать код более безопасным и удобным для чтения.