Sobes.tech
Junior — Middle

Kokios charakteristikos turi turėti raktai duomenų struktūros map?

sobes.tech AI

Atsakymas iš AI

Go kalboje raktai map'e turi būti palyginami (comparable) tipai, tai yra tokie, kuriuos galima naudoti lyginant == ir != operatoriais. Tai būtina, kad map galėtų efektyviai ieškoti ir lyginti raktus.

Tipai, kuriuos galima naudoti kaip raktus:

  • Paprasti tipai: eilutės, skaičiai, loginės reikšmės.
  • Nuorodos.
  • Struktūros, jei visi jų laukai yra palyginami.

Tipai, kurių negalima naudoti kaip raktų:

  • Slicing, map'ai, funkcijos, nes jie nėra palyginami.

Pavyzdys:

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

Čia raktas yra eilutė, kas yra teisinga.