Перечисление объединяет константы в один тип. Перечисления — мощная функция с широким спектром использования. Однако в Go они реализованы совсем иначе, чем в большинстве других языков программирования.
Примечание. Прежде чем вы пойдете дальше, я надеюсь, что все вы имеете представление о синтаксисе Go и примитивных типах на уровне новичка, чтобы понимать исходный код.
В этой статье я покажу вам, как реализовать перечисления в Golang, используя предварительно объявленный идентификатор iota. Прежде чем переходить к перечислениям, давайте сначала разберемся, что такое iota и как оно используется.
Что такое йота?
iota — это идентификатор, который используется с constant и может упростить определения констант, в которых используются числа с автоинкрементом. Ключевое слово iota представляет целочисленную константу, начинающуюся с нуля.
Ключевое слово iota представляет собой последовательные целочисленные константы 0, 1, 2,…. Оно сбрасывается в 0 всякий раз, когда в исходном коде появляется слово const, и увеличивается после каждой спецификации const.
Вы можете не писать последовательные iota перед каждой константой. Это можно упростить, как показано в листинге кода ниже:
Чтобы начать список констант с 1 вместо 0, вы можете использовать iota в арифметическом выражении.
Вы можете использовать пустой идентификатор, чтобы пропустить значение в списке констант.
Реализуйте перечисления с помощью йоты
Я хочу реализовать настраиваемый тип перечисления, который мы должны выполнить, учитывая следующее
- Объявите новый настраиваемый тип — Целочисленный тип.
- Объявление связанных констант — Использование iota.
- Создание общего поведения — присвойте типу String функцию.
- Создание дополнительного поведения — присвойте типу EnumIndex функцию.
Пример 1. C создать перечисление для дней недели.
Пример 2: Создайте перечисление для направлений.
Заключение
Перечисление — это тип данных, состоящий из набора именованных постоянных значений. Перечисления — мощная функция с широким спектром использования. Однако в Golang они реализованы совсем иначе, чем в большинстве других языков программирования. Golang не поддерживает перечисления напрямую. Мы можем реализовать это с помощью iota и constants.
На этом пока все … Продолжайте учиться … Удачного учения ?
Уровень кодирования
Спасибо, что стали частью нашего сообщества! Подпишитесь на наш канал YouTube или присоединитесь к Интервью по программированию Skilled.dev.
Вопросы на собеседовании по программированию + Найдите работу разработчика | Skilled.dev
Курс по программированию, собеседование expert.dev
Источник: