- наш обучающий телеграм канал для Golang разработчиков
- папка с самыми полезными ресурсами для Golang разработчиков
Простой пример iota
Ключевое слово iota представляет собой последовательные целочисленные константы 0, 1, 2,…
Оно обнуляется каждый раз, когда const появляется в исходном коде
И увеличивается после каждой спецификации const.
const (
C0 = iota
C1 = iota
C2 = iota
)
(C0, C1, C2) // “0 1 2“
Можно упростить до:
const (
C0 = iota
C1
C2
)
Тут полагаемся на то, что выражения неявно повторяются в объявлении const в скобках — это указывает на повторение предыдущего выражения и его тип.
Начать с единицы
Чтобы начать список констант с 1 вместо 0, можно использовать iota в арифметическом выражении.
const (
C1 = iota 1
C2
C3
)
(C1, C2, C3) // “1 2 3“
Пропустить значение
Можно использовать пустой идентификатор, чтобы пропустить значение в списке констант.
const (
C1 = iota 1
_
C3
C4
)
(C1, C3, C4) // “1 3 4“
Полный тип enum со строками [best practice]
Вот идиоматический способ реализации перечисляемого типа:
создаем новый целочисленный тип,
перечисляем его значения с использованием iota,
реализуем для типа функцию String.
type Direction int
const (
North Direction = iota
East
South
West
)
func (d Direction) String() string {
return [...]string{“North“, “East“, “South“, “West“}[d]
}
В действии:
var d Direction = North
(d)
switch d {
case North:
(“ goes up.“)
case South:
(“ goes down.“)
default:
(“ stays put.“)
}
// Output: North goes up.
Соглашение об именовании
По стандартному соглашению об именовании, необходимо использовать смешанный caps и для для констант. Например, экспортируемую константу будет правильным назвать NorthWest, а не NORTH_WEST.
201 view
208
43
4 weeks ago 00:25:51 2
[HakuPlz!] Я ПРОШЕЛ OUTLAST НА 100% И ВЕРНУЛ ДЕНЬГИ
4 weeks ago 00:00:52 1
❌ Пимафуцин мазь для женщин от молочницы цена 🔴 Клотримазол тева крем при молочнице у женщин
4 weeks ago 01:02:21 8
[Vadim Key] ШТУТГАРТ 🇩🇪: Город автомобильных легенд или большая деревня? ТОП-места и личный опыт жизни в городе.
4 weeks ago 00:17:10 4
[Телеканал ICTV] “ПРОРЫВ“ в российской НАУКЕ: хотели сделать СМАРТФОН, а получились ВТУЛКИ для ТУАЛЕТНОЙ БУМАГИ?
4 weeks ago 00:03:42 1
“Angry“ переводится как “сердитый“, “гневный“, “раздражённый“: перевод, транскрипция, произношение, примеры
4 weeks ago 00:03:09 1
“Angle“ переводится как “угол“: перевод, транскрипция, произношение, примеры
4 weeks ago 00:04:04 3
“Anniversary“ переводится как “годовщина“, “юбилей“: перевод, транскрипция, произношение, примеры
4 weeks ago 00:00:59 1
ВИНИРЫ УСТАНОВКА В МОСКВЕ ЦЕНА 😬
4 weeks ago 00:01:25 25
Десант освободил Дарьино в Суджанском районе Курской области!
4 weeks ago 00:04:01 1
“Analyse“ (в американском варианте “analyze“) переводится как “анализировать“, изучать
4 weeks ago 00:03:42 1
Слово “anger“ в английском языке переводится как “гнев“ или “злость“. транскрипция, произношение
4 weeks ago 00:03:32 1
Слово “and“ — это одно из самых распространенных слов в английском языке. Оно выполняет роль соединителя
4 weeks ago 00:01:53 2
😎 Работа в интернете писать отзывы ❌ Работа онлайн на вайлдберриз и озон 🔵
4 weeks ago 01:37:07 26
Играем на ОГС в честь Хеллоуина!
4 weeks ago 00:01:53 1
🌈 ЗАРАБОТОК В ИНТЕРНЕТЕ ЯНДЕКС ЗАДАНИЯ ОТЗЫВЫ ⛔ РАБОТА НА ДОМУ ЕЖЕДНЕВНАЯ ОПЛАТА ❗
4 weeks ago 00:01:53 1
💶 ИЩУ РАБОТУ НА ДОМУ В ДЕНЬ 💡
4 weeks ago 02:06:49 27
Архетипы триграмм. 8 ролей, в которые мы играем.
4 weeks ago 00:01:53 2
💵 Заработок в интернете фотошоп 🔔 Заработок удаленно 2024 ❕
4 weeks ago 01:00:29 7
4 ВОПРОСИТЕЛЬНЫЕ ПРЕДЛОЖЕНИЯ
4 weeks ago 00:01:53 1
👍 Работа ежедневно волжский 🎁
4 weeks ago 00:00:42 42
‼️Десант освободил Дарьино в Суджанском районе Курской области!
4 weeks ago 00:00:42 2.4K
Освобожден населенный пункт Дарьино в Суджанском районе Курской области. Видео от крылатой пехоты из штурмовой роты, 2-го баталь
4 weeks ago 00:45:33 45
ВСЁ СОЦИАЛЬНЫЕ ОТНОШЕНИЯ за ЧАС | ОГЭ и ЕГЭ по обществознанию
4 weeks ago 01:00:19 5
Фразовые глаголы с have, has и had: ключ к естественной речи на английском