typestar

Constantes e iota en Go

Constantes sin tipo e iota, que es como Go escribe un enum.

type State int

const (
    StateIdle State = iota
    StateRunning
    StateDone
)

const (
    _  = iota
    KB = 1 << (10 * iota)
    MB
)

func (s State) String() string {
    names := [...]string{"idle", "running", "done"}
    if s < 0 || int(s) >= len(names) {
        return "unknown"
    }
    return names[s]
}

Cómo funciona

  1. iota cuenta desde cero dentro de un bloque const.
  2. El identificador blanco salta un valor, y así KB arranca en 1 << 10.
  3. Un método String vuelve la constante algo imprimible.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
21
Caracteres a escribir
271
Tokens
75
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 56 segundos.

Escribe este fragmento

Paso 3 de 5 en Variables y tipos; paso 3 de 30 en Fundamentos del lenguaje.

← Anterior Siguiente →