Senior
Quali tipi di dati possono essere usati come chiave per una mappa? È possibile usare un array come chiave?
sobes.tech AI
Risposta dell'AI
In Go, la chiave per una mappa può essere qualsiasi tipo che supporta l'operazione di confronto == e !=. Ciò significa che le chiavi possono essere tipi di base (int, string, bool, ecc.), puntatori, strutture se tutti i loro campi sono confrontabili, e anche interfacce se il tipo dinamico è confrontabile.
Gli array in Go sono confrontabili se i loro elementi sono confrontabili, quindi gli array possono essere usati come chiavi in una mappa. Ad esempio:
m := make(map[[3]int]string)
m[[3]int{1, 2, 3}] = "valore"
Tuttavia, gli slice non possono essere usati come chiavi, poiché non sono confrontabili (eccetto quando vengono confrontati con nil).