Sobes.tech
Назад к вопросам
Junior — Middle
77

Можете объяснить, в чём заключается назначение функции make()?

Компании, где спрашивали
WildberriesWildberries

Ответ от нейросети

sobes.tech AI

Функция make() в Go используется для инициализации и выделения памяти для встроенных типов данных: срезов (slices), отображений (maps) и каналов (channels). В отличие от new(), которая выделяет память и возвращает указатель на нулевое значение, make() возвращает инициализированное значение соответствующего типа, готовое к использованию.

Пример:

// Создаем срез длиной 5 и емкостью 10
s := make([]int, 5, 10)

// Создаем пустую карту с начальной емкостью 10
m := make(map[string]int, 10)

// Создаем канал для передачи int
ch := make(chan int, 5)

Таким образом, make() необходим для корректного создания и инициализации этих типов, чтобы с ними можно было работать без ошибок.