Назад к вопросам
Бюро 1440
Senior
4
Как устроены map в Go?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go map — это встроенный тип данных, реализующий ассоциативный массив или словарь, где ключи сопоставляются со значениями.
Основные особенности:
- Объявление:
map[keyType]valueType. - Инициализация: с помощью функции
makeили литерала. - Доступ: чтение и запись по ключу.
- Отсутствие порядка: элементы в
mapне упорядочены. - Потокобезопасность:
mapне является потокобезопасным, для конкурентного доступа требуется синхронизация.
Пример:
package main
import "fmt"
func main() {
// Создаем map с ключами string и значениями int
ages := make(map[string]int)
// Добавляем элементы
ages["Alice"] = 30
ages["Bob"] = 25
// Читаем элемент
fmt.Println("Возраст Alice:", ages["Alice"])
// Проверка наличия ключа
age, ok := ages["Charlie"]
if !ok {
fmt.Println("Ключ Charlie не найден")
} else {
fmt.Println("Возраст Charlie:", age)
}
}
Таким образом, map в Go — это удобный и эффективный способ хранения пар ключ-значение с быстрым доступом.