Sobes.tech
Junior — Middle

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

sobes.tech AI

Vastus AI-lt

Go keeles peamised map andmestruktuuri võtmed peavad olema võrdluskõlblikud (comparable) tüübid, st sellised, mida saab kasutada võrdlusoperatsioonides == ja !=.

Lubatud võtmetüübid hõlmavad:

  • Põhitüübid: int, float64, string, bool jms.
  • Viitajaid tüüpe
  • Struktuure, kui kõik nende väljad on võrdluskõlblikud
  • Massiive, kui nende elemendid on võrdluskõlblikud

Keelatud võtmetüübid:

  • Sliced (slice)
  • Kaardid (map)
  • Funktsioonid

Näide string tüüpi võtmega kaardist:

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

Kui proovite kasutada sildina sildina, annab kompilaator vea.