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
maps.Keysdevuelve un iterador, no un slice.slices.Collectconvierte ese iterador en un slice.maps.Cloneymaps.Equalhacen lo obvio.
Palabras clave y builtins usados aquí
booldeleteforfuncintmaprangereturnstring
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.
Paso 2 de 5 en Colecciones y texto; paso 10 de 26 en Biblioteca estándar y estructura del proyecto.