Sobes.tech
Junior — Middle

Millised võtmetüübid on võimalikud Map andmestruktuuris kasutamiseks?

sobes.tech AI

Vastus AI-lt

Go keeles võib map andmestruktuuri võtmed olla mis tahes tüüpi, mis toetab võrdlusoperatsiooni (== ja !=). See tähendab, et võtmed võivad olla:

  • Tõeväärtused (bool)
  • Numbrilised tüübid (int, float64 jne)
  • Stringid (string)
  • Viitajad
  • Struktuurid, kui kõik nende väljad on võrdlusväärsed

Slaidid (slice), kaardid (map) ja funktsioonid ei saa olla võtmetena, kuna nad ei toeta võrdlust.

Näide kaardist, mille võti on string tüüpi:

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

Kui soovite kasutada keerulisemaid võtmeid, saate määratleda struktuuri, mille väljad on võrdlusväärsed.