Объявление и использование простых перечислений
Представление фиксированного набора значений
«Объявление и использование простых перечислений» — бесплатный урок Dart Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Dart Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Dart Academy содержит 4 уроков всего.
Фиксированный набор вариантов
Некоторые значения всегда берутся из короткого известного списка, например дни недели. Перечисление задаёт для Вас имена этого фиксированного набора вариантов.
Объявление перечисления
Сначала укажите перечисление, затем имя и допустимые значения в фигурных скобках. Каждое значение становится константным членом этого типа.
enum Direction { north, south, east, west }Почему не использовать обычные строки
Обычный текст вроде «север» можно написать с ошибкой, и язык Вас об этом не предупредит. Перечисление исключает опечатки, ограничивая набор значений.
Чтение значения перечисления
Обратитесь к члену через имя перечисления, точку и затем значение. В результате Вы получите настоящее типизированное значение, а не просто метку.
var heading = Direction.north;У перечислений есть собственный тип
Переменная heading выше имеет тип Direction. Язык отклонит любое значение, не являющееся одним из четырёх членов.
Direction d = Direction.east;Сравнение значений перечисления
Члены перечисления сравниваются обычным оператором равенства. Результат будет истинным только тогда, когда обе стороны — в точности один и тот же член.
print(Direction.north == Direction.north); // trueПеречисления в условиях
Поскольку сравнение получается понятным, перечисления естественно читаются внутри условия. Любому, кто просматривает код, сразу виден Ваш замысел.
if (d == Direction.east) print("Turning east");Вывод перечисления
При выводе члена отображаются тип и значение вместе, например Direction.north. Это понятная метка, удобная при отладке. 🧭
print(Direction.north); // Direction.northПример из реальной жизни
Перечисления особенно полезны для состояний: заказ может ожидать обработки, быть отправлен или доставлен. Тип явно задаёт каждое возможное состояние.
enum Status { pending, shipped, delivered }Соглашение: члены в lowerCamelCase
По стилю Dart члены перечисления используют lowerCamelCase, например inProgress. Так перечисления соответствуют остальной экосистеме.
enum Phase { notStarted, inProgress, done }Когда подходит перечисление
Выбирайте перечисление, когда значение принадлежит небольшой фиксированной группе. Это понятнее и безопаснее, чем неограниченные строки или числа.
Быстрая проверка
Почему для значения состояния лучше выбрать перечисление, а не обычную строку?
Итоги: обычные перечисления
Вы узнали, что перечисление задаёт фиксированный набор типизированных вариантов, к которым обращаются через точку и которые сравнивают оператором равенства. Это лучше неограниченных строк. 🎉
Часто задаваемые вопросы
Урок «Объявление и использование простых перечислений» бесплатный?
Да — полный текст урока «Объявление и использование простых перечислений» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Dart Academy, подпишись на CoddyKit PRO. Курс Dart Academy содержит 4 уроков всего.
Чему я научусь в уроке «Объявление и использование простых перечислений»?
Представление фиксированного набора значений Ты практикуешь Dart Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Dart Academy?
Предыдущий опыт не требуется. Dart Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Объявление и использование простых перечислений»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Dart Academy?
Да. Каждый урок Dart Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объявление и использование простых перечислений
- Значения перечисления, index и name
- Расширенные перечисления с полями и методами
- Полный switch по перечислениям