Sobes.tech
Junior — Middle

Kādi datu tipi ir atļauti kā atslēgas kartes struktūrā?

sobes.tech AI

Atbilde no AI

Go valodā atslēgas kartē var būt tikai tie datu tipi, kas atbalsta salīdzināšanas operāciju (salīdzināmi). Tas nozīmē, ka atslēgas var būt:

  • Loģiskās vērtības (bool)
  • Skaitļi (int, float, complex utt.)
  • Rindiņas (string)
  • Norādītāji
  • Interfeisi, ja dinamiskais tips atbalsta salīdzināšanu
  • Struktūras, ja visi to lauki ir salīdzināmi

Nav atļauts izmantot sējumus, kartes, funkcijas un citas nesalīdzināmas tipus kā atslēgas, jo tie neatbalsta == operatoru.

Piemērs:

m := make(map[string]int)
m["key"] = 42

// Struktūra ar salīdzināmiem laukiem
type Point struct {
    X, Y int
}

m2 := make(map[Point]string)
m2[Point{1,2}] = "Punkts"