Menu
Coddy logo textTech

Iterando sobre Mapas

Parte da seção Fundamentos do Journey de GO da Coddy — lição 92 de 109.

A palavra-chave range permite iterar sobre todos os pares chave-valor em um mapa. Ela retorna tanto a chave quanto o valor para cada entrada.

Crie um mapa do inventário de frutas:

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

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

O resultado mostra cada par chave-valor:

apples: 5
bananas: 8
oranges: 12

Se você precisar apenas das chaves, pode omitir a segunda variável:

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

Desafio

Iniciante

Neste desafio, você praticará a iteração sobre um mapa usando a palavra-chave range em Go. Um mapa de notas de alunos foi criado para você. Sua tarefa é iterar pelo mapa e imprimir o nome de cada aluno e sua nota.

Complete o código para iterar pelo mapa studentGrades e imprimir o nome e a nota de cada aluno no formato: Student: [name], Grade: [grade]

Folha de consulta

Use range para iterar sobre pares chave-valor em um 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 apenas sobre as chaves, omita a segunda variável:

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

Experimente você mesmo

package main

import (
	"fmt"
	"sort"
)

func main() {
	// Um map de notas de alunos
	studentGrades := map[string]string{
		"Alice":  "A",
		"Bob":    "B",
		"Charlie": "B+",
		"David":  "A-",
		"Eva":    "C",
	}

	// Coleta os nomes dos alunos (keys) em um slice para ordená-los
	var names []string
	for name := range studentGrades {
		names = append(names, name)
	}
	sort.Strings(names)


	// TODO: Itere pela lista ordenada de nomes de alunos
	// e imprima o nome e a nota de cada aluno no formato:
	// "Student: [name], Grade: [grade]"
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos