Sobes.tech
Junior — Middle

Ce tipuri de date sunt potrivite pentru utilizarea ca chei într-o structură Map?

sobes.tech AI

Răspuns de la AI

În Go, cheile dintr-o structură map pot fi doar de tipuri care suportă operația de comparație pentru egalitate (== și !=). Acest lucru se datorează faptului că, pentru a căuta o valoare după cheie, este necesar să compari cheile.

Tipuri de chei potrivite:

  • Tipuri simple: int, float64, string, bool etc.
  • Poinți
  • Structuri, dacă toate câmpurile lor sunt comparabile
  • Array-uri, dacă elementele lor sunt comparabile

Nu pot fi folosite ca chei:

  • Slici (slice)
  • Hărți (map)
  • Funcții

Exemplu de utilizare:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Dacă încerci să folosești un slice ca și cheie, compilatorul va da o eroare.