Sobes.tech
Junior — Middle

Kādi datu tipi ir piemēroti kā atslēgas Map struktūrā?

sobes.tech AI

Atbilde no AI

Go valodā atslēgas map struktūrā var būt tikai tie tipi, kas atbalsta vienādojuma salīdzināšanu (== un !=). Tas ir svarīgi, jo, meklējot vērtību pēc atslēgas, ir nepieciešams salīdzināt atslēgas.

Piemēroti atslēgu tipi:

  • Vienkārši tipi: int, float64, string, bool utt.
  • Norādītāji
  • Struktūras, ja visi to lauki ir salīdzināmi
  • Masīvi, ja to elementi ir salīdzināmi

Nav atļauts izmantot kā atslēgas:

  • Sēklas (slice)
  • Kartes (map)
  • Funkcijas

Piemērs:

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

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

Ja mēģināsiet izmantot sēklu kā atslēgu, kompilators izmetīs kļūdu.