11 Типы и значения
Как задать набор связанных констант?
Ответ
В блоке const идентификатор iota равен номеру строки и начинается с нуля. Каждая следующая строка без выражения повторяет предыдущее и увеличивает iota. Так получают перечисление без ручной нумерации.
Подробнее
Если ноль не должен быть «настоящим» состоянием, первой константой часто ставят имя вроде Unknown. Тогда забытая нулевая переменная не притворяется рабочим режимом.
package main
import "fmt"
type Status int
const (
Unknown Status = iota
Ready
Running
Done
)
func main() {
fmt.Println(Unknown, Ready, Running, Done)
}