typestar

El paquete maps en Go

Iterar las claves y valores de un mapa sin escribir el bucle.

func mapHelpers() ([]string, int, bool) {
    steps := map[string]int{"basics": 39, "traits": 19, "errors": 15}

    keys := slices.Collect(maps.Keys(steps))
    slices.Sort(keys)

    total := 0
    for value := range maps.Values(steps) {
        total += value
    }

    copied := maps.Clone(steps)
    delete(copied, "errors")
    return keys, total, maps.Equal(steps, copied)
}

Cómo funciona

  1. maps.Keys devuelve un iterador, no un slice.
  2. slices.Collect convierte ese iterador en un slice.
  3. maps.Clone y maps.Equal hacen lo obvio.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
338
Tokens
99
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 57 segundos.

Escribe este fragmento

Paso 2 de 5 en Colecciones y texto; paso 10 de 26 en Biblioteca estándar y estructura del proyecto.

← Anterior Siguiente →