typestar

Valores cero en Go

Toda variable declarada arranca en el valor cero de su tipo: nada de memoria sin inicializar.

func zeroes() string {
    var (
        count int
        ratio float64
        name  string
        ok    bool
        items []int
        table map[string]int
        ptr   *int
    )

    items = append(items, 1) // un slice nil acepta append sin problema
    return fmt.Sprintf("%d %.1f %q %t %v %v %v",
        count, ratio, name, ok, items, table == nil, ptr == nil)
}

Cómo funciona

  1. Los números arrancan en 0, las cadenas vacías, los punteros y slices en nil.
  2. Un slice nil acepta append; un mapa nil no.
  3. var sin valor es idiomático cuando el cero es lo que quieres.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
295
Tokens
65
Ritmo de tres estrellas
80 tpm

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

Escribe este fragmento

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

← Anterior Siguiente →