Back to questions
Senior
4
Что можешь рассказать про map в Go?
Companies where asked
Small
Answer from AI
sobes.tech AI
В Go map — это встроенный тип данных, реализующий ассоциативный массив или словарь, где ключи сопоставляются со значениями.
Особенности map в Go:
- Ключи и значения имеют определённые типы, например,
map[string]int— ключи строки, значения целые числа. - Map инициализируется с помощью функции
make, например:m := make(map[string]int). - Доступ к элементам через
m[key]. - Если ключ отсутствует, возвращается нулевое значение типа значения.
- Можно проверить наличие ключа с помощью второго возвращаемого значения:
val, ok := m[key]. - Map не упорядочены, порядок обхода произвольный.
- Map не являются потокобезопасными, для конкурентного доступа нужно использовать синхронизацию.
Пример:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
val, ok := m["apple"]
if ok {
fmt.Println("apple:", val)
}
// Удаление ключа
delete(m, "banana")
}