Sobes.tech
Junior — Middle

Какви характерни свойства трябва да имат ключовете в структурата данни map?

sobes.tech AI

Отговор от AI

В Go ключовете в map трябва да бъдат сравними (comparable) типове, тоест такива, които могат да се използват в операторите за сравнение == и !=. Това е необходимо, за да може map-ът ефективно да търси и сравнява ключовете.

Типове, които могат да се използват като ключове:

  • Елементарни типове: низове, числа, булеви стойности.
  • Посочващи типове.
  • Структури, ако всички техни полета са сравними.

Типове, които не могат да се използват като ключове:

  • Срезове (slice), карти (map), функции (func), тъй като те не са сравними.

Пример:

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

Тук ключът е низ, което е правилно.