Iterare sulle mappe
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 92 di 109.
La parola chiave range ti permette di scorrere tutte le coppie chiave-valore di una mappa. Restituisce sia la chiave sia il valore per ogni voce.
Crea una mappa dell'inventario della frutta:
inventory := map[string]int{
"apples": 5,
"bananas": 8,
"oranges": 12,
}
for fruit, quantity := range inventory {
fmt.Printf("%s: %d\n", fruit, quantity)
}Il risultato mostra ogni coppia chiave-valore:
apples: 5
bananas: 8
oranges: 12Se ti servono solo le chiavi, puoi omettere la seconda variabile:
for fruit := range inventory {
fmt.Println(fruit)
}Sfida
PrincipianteIn questa sfida, ti eserciterai a scorrere una mappa usando la parola chiave range in Go. È stata creata per te una mappa dei voti degli studenti. Il tuo compito è scorrere la mappa e stampare il nome di ogni studente e il relativo voto.
Completa il codice per scorrere la mappa studentGrades e stampare il nome di ogni studente e il relativo voto nel formato: Student: [name], Grade: [grade]
Provalo tu
package main
import (
"fmt"
"sort"
)
func main() {
// Una mappa dei voti degli studenti
studentGrades := map[string]string{
"Alice": "A",
"Bob": "B",
"Charlie": "B+",
"David": "A-",
"Eva": "C",
}
// Raccogli i nomi degli studenti (le chiavi) in una slice per ordinarli
var names []string
for name := range studentGrades {
names = append(names, name)
}
sort.Strings(names)
// TODO: Scorri l'elenco ordinato dei nomi degli studenti
// e stampa il nome e il voto di ogni studente nel formato:
// "Student: [name], Grade: [grade]"
}
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online