Sobes.tech
Junior — Middle

Какви типове данни са подходящи за използване като ключове в структурата Map?

sobes.tech AI

Отговор от AI

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

Подходящи типове ключове:

  • Прости типове: int, float64, string, bool и др.
  • Посочващи типове
  • Структури, ако всички техни полета са сравними
  • Масиви, ако елементите им са сравними

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

  • Срезове (slice)
  • Карти (map)
  • Функции

Пример за използване:

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Ако се опитате да използвате срез като ключ, компилаторът ще даде грешка.