Menu
Coddy logo textTech

Iterar sobre mapas

Parte de la sección Fundamentos del Journey de GO de Coddy — lección 92 de 109.

La palabra clave range permite iterar sobre todos los pares clave-valor de un mapa. Devuelve tanto la clave como el valor de cada entrada.

Crea un mapa del inventario de frutas:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

El resultado muestra cada par clave-valor:

apples: 5
bananas: 8
oranges: 12

Si solo necesitas las claves, puedes omitir la segunda variable:

for fruit := range inventory {
    fmt.Println(fruit)
}
challenge icon

Desafío

Principiante

En este desafío, practicarás cómo iterar sobre un mapa usando la palabra clave range en Go. Se ha creado un mapa de calificaciones de estudiantes para ti. Tu tarea es iterar a través del mapa e imprimir el nombre de cada estudiante y su calificación.

Completa el código para iterar a través del mapa studentGrades e imprimir el nombre y la calificación de cada estudiante en el formato: Student: [name], Grade: [grade]

Hoja de referencia

Usa range para iterar sobre pares clave-valor en un mapa:

inventory := map[string]int{
    "apples": 5,
    "bananas": 8,
    "oranges": 12,
}

for fruit, quantity := range inventory {
    fmt.Printf("%s: %d\n", fruit, quantity)
}

Para iterar solo sobre las claves, omite la segunda variable:

for fruit := range inventory {
    fmt.Println(fruit)
}

Pruébalo tú mismo

package main

import (
	"fmt"
	"sort"
)

func main() {
	// Un mapa de calificaciones de estudiantes
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// Recopilar los nombres de los estudiantes (claves) en un slice para ordenarlos
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: Iterar a través de la lista ordenada de nombres de estudiantes
	// e imprimir el nombre y la calificación de cada estudiante en el formato:
	// "Student: [name], Grade: [grade]"
}
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos