Junior — Middle
Qual è la differenza tra l'uso di una mappa e di uno slice in Go, e in quali casi è preferibile usare uno rispetto all'altro?
sobes.tech AI
Risposta dell'AI
In Go, map e slice servono a scopi diversi:
- map — array associativo, struttura per memorizzare coppie chiave-valore con accesso rapido tramite la chiave. Le chiavi sono uniche.
- slice — array dinamico, collezione ordinata di elementi, accesso tramite indice.
Quando usare:
- Usa map se hai bisogno di trovare rapidamente elementi tramite una chiave unica, ad esempio, memorizzare utenti per ID.
- Usa slice se l'ordine degli elementi è importante, o se devi memorizzare un insieme di elementi senza chiavi, ad esempio, una lista di compiti.
Esempio:
// map per memorizzare i voti degli studenti per nome
grades := map[string]int{"Alice": 90, "Bob": 85}
// slice per memorizzare una lista di nomi
names := []string{"Alice", "Bob", "Charlie"}
La scelta dipende dal compito: per la ricerca tramite chiave — map, per una lista ordinata — slice.