Sobes.tech
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.