Enumerador en Go
-
Use el
iotapara representarenumsen Go -
Utilice la
iotapara la declaración de número de incremento automático en Go -
Usa el
iotapara crear un comportamiento común en Go
Se utiliza un enum (abreviatura de enumerador) para diseñar agrupaciones complicadas de constantes con nombres significativos pero valores simples y distintos.
En Go, no existe el tipo de datos enum. Usamos el identificador iota que está predefinido, y los enums no están estrechamente tipados.
Use el iota para representar enums en Go
iota es un identificador constante que puede simplificar las declaraciones de números de incremento automático. Denota una constante entera de base cero.
La palabra clave iota representa las constantes numéricas 0, 1, 2,.... El término const que aparece en el código fuente se restablece a 0 y aumenta con cada especificación de const.
package main
import "fmt"
const (
a = iota
b = iota
c = iota
)
func main() {
fmt.Println(a, b, c)
}
Producción :
0 1 2
Utilice la iota para la declaración de número de incremento automático en Go
Con este método, puede evitar colocar iota secuencial delante de cada constante.
package main
import "fmt"
const (
a = iota
b
c
)
func main() {
fmt.Println(a, b, c)
}
Producción :
0 1 2
Usa el iota para crear un comportamiento común en Go
Definimos una enum simple denominada Direction, que tiene cuatro valores potenciales: "east", "west", "north" y "south".
package main
import "fmt"
type Direction int
const (
East = iota + 1
West
North
South
)
// Giving the type a String method to create common behavior
func (d Direction) String() string {
return [...]string{"East", "West", "North", "South"}[d-1]
}
// Giving the type an EnumIndex function allows you to provide common behavior.
func (d Direction) EnumIndex() int {
return int(d)}
func main() {
var d Direction = West
fmt.Println(d)
fmt.Println(d.String())
fmt.Println(d.EnumIndex())
}
Producción :
West
West
2