Пропуск значения счетчика в Go
Лишнее значение счетчика можно выбросить
пустым именем. На строке, которую не хотят
экспортировать в код, вместо обычного имени
ставят _: номер строки все равно
увеличивается, но привязанного имени не
остается.
Так пропускают промежуточный номер, когда нужны только первое и третье значения в ряду:
const (
First = iota
_
Third
)
fmt.Println(First, Third)
У First значение 0. Строка с
_ занимает место 1, но имя
нигде не используют. Third получает
2. Если бы _ не было, Third
оказался бы равен 1.
Пустое имя подходит и при сдвинутом старте: счет строк тот же, меняется только формула на первой строке:
const (
Base = iota + 1
_
Top
)
fmt.Println(Base, Top)
Дан следующий код:
const (
Alpha = iota
_
Gamma
)
Напишите значения Alpha и Gamma.
Даны имена One и Three. Пронумеруйте
их так, чтобы One было 0,
Three было 2, а значение
1 нигде не именовали.
Дан следующий код:
const (
S = iota
T
U
)
Измените блок так, чтобы S осталось
0, а U стало 2, не
оставляя имени для 1.