Ответ
make в Go используется для инициализации слайсов, каналов и мапов с предопределёнными параметрами. Основные аргументы:
-
Слайс:
make([]T, len, cap)T— тип элементов.len— длина (количество элементов).cap(опционально) — ёмкость (размер выделенной памяти).
Пример:
s := make([]int, 5, 10) // слайс из 5 нулей, с резервом до 10 элементов.
-
Канал:
make(chan T, bufferSize)T— тип данных канала.bufferSize(опционально) — размер буфера.
Пример:
ch := make(chan string, 3) // буферизированный канал на 3 элемента.
-
Мап:
make(map[K]V, initialCapacity)K— тип ключа.V— тип значения.initialCapacity(опционально) — начальный размер (хинт для оптимизации).
Пример:
m := make(map[string]int, 100) // мап с зарезервированным местом под ~100 элементов.