Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от AI

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

Допустимите типове ключове включват:

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

Недопустими типове ключове:

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

Пример за използване на карта с ключ от тип string:

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

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