Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpItSs 63 of 280 menu
◀ ▶

Набор состояний в блоке констант в Go

Имена состояний удобно пронумеровать в одном блоке, чтобы не писать числа вручную. Так задают этапы письма, статус заказа или шаг обработки: каждое имя получает свой номер, а в переменной хранят одно из этих значений.

Три типичных состояния оформляют так:

const ( Draft = iota Sent Done ) status := Sent fmt.Println(status)

Draft равно 0, Sent равно 1, Done равно 2. В status лежит число 1, то есть выбрано состояние Sent. Сравнение идет с именем константы, а не с голым числом в тексте программы.

Блок можно объявить и внутри функции, если набор состояний нужен только там:

func main() { const ( Draft = iota Sent Done ) step := Done fmt.Println(step == Done) }

Дан следующий код:

const ( Open = iota Closed ) flag := Open

Напишите значение flag и сравнение, которое проверяет, что флаг открыт.

Даны состояния New, Active, Archived. Пронумеруйте их с нуля в одном блоке и запишите в phase значение Active.

Дан следующий код:

const ( Draft = iota Sent Done ) cur := 2

Скажите, какому имени состояния соответствует cur, не меняя блок.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить