Sobes.tech
Junior — Middle

Kokie raktų tipai yra įmanomi naudojant Map duomenų struktūroje?

sobes.tech AI

Atsakymas iš AI

Go kalboje raktai map duomenų struktūrai gali būti bet kokio tipo, kuris palaiko lygumo palyginimo operaciją (== ir !=). Tai reiškia, kad raktai gali būti:

  • Boolean reikšmės (bool)
  • Skaitmeniniai tipai (int, float64 ir kt.)
  • Eilutės (string)
  • Nuorodos
  • Struktūros, jei visi jų laukai yra palyginami

Slicing (slice), žemėlapiai (map) ir funkcijos negali būti naudojami kaip raktai, nes jie nepalaiko palyginimo.

Pavyzdys, kaip naudoti žemėlapį su raktu, kurio tipas yra string:

m := make(map[string]int)
 m["apple"] = 5
fmt.Println(m["apple"])

Jei norite naudoti sudėtingus raktus, galite apibrėžti struktūrą su palyginamiems laukais.