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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

Функция 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() необходим для корректного создания и инициализации этих типов, чтобы с ними можно было работать без ошибок.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее