
: , , . , , : , best practice , , . , , , , , . .
iota
- iota0, 1, 2,…
- , const
- const.
const (
    C0 = iota
    C1 = iota
    C2 = iota
)
fmt.Println(C0, C1, C2) // "0 1 2"
:
const (
    C0 = iota
    C1
    C2
)
, const — .
1 0, iota .
const (
    C1 = iota + 1
    C2
    C3
)
fmt.Println(C1, C2, C3) // "1 2 3"
, .
const (
    C1 = iota + 1
    _
    C3
    C4
)
fmt.Println(C1, C3, C4) // "1 3 4"
enum [best practice]
:
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
fmt.Print(d)
switch d {
case North:
    fmt.Println(" goes up.")
case South:
    fmt.Println(" goes down.")
default:
    fmt.Println(" stays put.")
}
// Output: North goes up.
, caps . , NorthWest, NORTH_WEST.
iota — bitmask. ( “”), .
bitmasks .
: