Junior
163
questionbank
Какое свойство должен иметь ключ в структуре данных Map?
Ответ от нейросети
sobes.tech AI
Ключ в структуре данных Map в Go должен быть сравнимым.
Типичные сравнимые типы в Go:
- Булевы (
bool) - Числовые типы (
int,float64,complex128, etc.) - Строки (
string) - Указатели (
*T) - Каналы (
chan T) - Интерфейсы (
interface{}) (если значение внутри сравнимо) - Структуры (
struct) (если все поля сравнимы) - Массивы (
array) (если тип элементов сравнимый)
Примеры несравнимых типов:
- Срезы (
slice) - Некоторые интерфейсы, содержащие несравнимые типы
- Функции (
func) - Карты (
map)
Пример использования сравнимого типа (строка) как ключа:
// Создаем карту с ключами типа string и значениями типа int
m := make(map[string]int)
// Добавляем элементы
m["apple"] = 1
m["banana"] = 2
// Доступ к элементу
value := m["apple"] // value == 1
Пример попытки использовать несравнимый тип (срез) как ключа (приведет к ошибке компиляции):
/*
// Ошибка компиляции: invalid map key type []int
m := make(map[[]int]string)
*/