Sobes.tech
Junior — Middle

Quali tipi di chiavi sono consentiti per l'uso nella struttura dati Map?

sobes.tech AI

Risposta dell'AI

In Go, le chiave per la struttura dati map devono essere tipi confrontabili, cioè tipi che possono essere usati nelle operazioni di confronto == e !=.

I tipi di chiavi consentiti includono:

  • Tipi primitivi: int, float64, string, bool, ecc.
  • Puntatori
  • Strutture, se tutti i loro campi sono confrontabili
  • Array, se gli elementi dell'array sono confrontabili

Tipi di chiavi non consentiti:

  • Slice (slice)
  • Mappe (map)
  • Funzioni

Esempio di utilizzo di una mappa con chiave di tipo string:

m := make(map[string]int)
m["apple"] = 5
fmt.Println(m["apple"]) // 5

Se si tenta di usare uno slice come chiave, il compilatore genererà un errore.