Реализация перечислений в Golang

Перечисление объединяет константы в один тип. Перечисления — мощная функция с широким спектром использования. Однако в Go они реализованы совсем иначе, чем в большинстве других языков программирования.

Примечание. Прежде чем вы пойдете дальше, я надеюсь, что все вы имеете представление о синтаксисе Go и примитивных типах на уровне новичка, чтобы понимать исходный код.

В этой статье я покажу вам, как реализовать перечисления в Golang, используя предварительно объявленный идентификатор iota. Прежде чем переходить к перечислениям, давайте сначала разберемся, что такое iota и как оно используется.

Что такое йота?

iota — это идентификатор, который используется с constant и может упростить определения констант, в которых используются числа с автоинкрементом. Ключевое слово iota представляет целочисленную константу, начинающуюся с нуля.

Ключевое слово iota представляет собой последовательные целочисленные константы 0, 1, 2,…. Оно сбрасывается в 0 всякий раз, когда в исходном коде появляется слово const, и увеличивается после каждой спецификации const.

Вы можете не писать последовательные iota перед каждой константой. Это можно упростить, как показано в листинге кода ниже:

Чтобы начать список констант с 1 вместо 0, вы можете использовать iota в арифметическом выражении.

Вы можете использовать пустой идентификатор, чтобы пропустить значение в списке констант.

Реализуйте перечисления с помощью йоты

Я хочу реализовать настраиваемый тип перечисления, который мы должны выполнить, учитывая следующее

  • Объявите новый настраиваемый тип — Целочисленный тип.
  • Объявление связанных констант — Использование iota.
  • Создание общего поведения — присвойте типу String функцию.
  • Создание дополнительного поведения — присвойте типу EnumIndex функцию.
См. также:  Коротко о WebAssembly

Пример 1. C создать перечисление для дней недели.

Пример 2: Создайте перечисление для направлений.

Заключение

Перечисление — это тип данных, состоящий из набора именованных постоянных значений. Перечисления — мощная функция с широким спектром использования. Однако в Golang они реализованы совсем иначе, чем в большинстве других языков программирования. Golang не поддерживает перечисления напрямую. Мы можем реализовать это с помощью iota и constants.

На этом пока все … Продолжайте учиться … Удачного учения ?

Уровень кодирования

Спасибо, что стали частью нашего сообщества! Подпишитесь на наш канал YouTube или присоединитесь к Интервью по программированию Skilled.dev.

 

Вопросы на собеседовании по программированию + Найдите работу разработчика | Skilled.dev
Курс по программированию, собеседование expert.dev

 

Понравилась статья? Поделиться с друзьями:
IT Шеф
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: