- наш обучающий телеграм канал для 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.
Hide player controls
Hide resume playing