Go: iota
Iota is a basic tool for enumerated constants.
Basics
The predeclared iota
identifier resets to 0 whenever the word const
appears in the source code and increments after each const specification:
const (
C0 = iota
C1 = iota
C2 = iota
)
fmt.Println(C0, C1, C2) // "0 1 2"
This can be simplified to
const (
C0 = iota
C1
C2
)
In a parenthesized const declaration expressions can be implicitly repeated—this indicates a repetition of the preceding expression.
Start at 1
const (
C1 = iota + 1
C2
C3
)
fmt.Println(C1, C2, C3) // "1 2 3"
Skip value
const (
C1 = iota + 1
_
C3
C4
)
fmt.Println(C1, C3, C4) // "1 3 4"
Enumeration
type Suite int
const (
Spades Suite = iota
Hearts
Diamonds
Clubs
)
func (s Suite) String() string {
return [...]string{"Spades", "Hearts", "Diamonds", "Clubs"}[s]
}
See Define an enumeration (enum) with a string representation for more details on how to create and use enumerations in Go.
Comments
Be the first to comment!