Проверяет знание синтаксиса инициализации map с указанием начальной ёмкости в Go для оптимизации производительности.
В Go map — это ссылочный тип данных, который хранит пары ключ-значение. При создании map с помощью make можно указать начальную ёмкость, чтобы оптимизировать производительность, особенно если заранее известно примерное количество элементов.
Для объявления map с ёмкостью используется следующий синтаксис:
m := make(map[KeyType]ValueType, capacity)Где KeyType — тип ключа, ValueType — тип значения, а capacity — целое число, указывающее начальную ёмкость.
package main
import "fmt"
func main() {
// Создаём map с ёмкостью 10
scores := make(map[string]int, 10)
scores["Alice"] = 95
scores["Bob"] = 87
fmt.Println(scores)
}Указание ёмкости позволяет избежать многократного перераспределения памяти при добавлении элементов. Без указания ёмкости Go будет динамически увеличивать map по мере необходимости, что может привести к снижению производительности. Если вы знаете, что в map будет около 1000 элементов, указание ёмкости 1000 поможет выделить память сразу.
cap(), но для map это не всегда даёт точную информацию.Используйте make с указанием ёмкости при создании map, когда заранее известно примерное количество элементов. Это улучшает производительность за счёт уменьшения количества операций выделения памяти.