Применял ли Make в работе

«Применял ли Make в работе» — вопрос из категории DevOps, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, make в Go используется для создания слайсов, каналов и мапов с предопределённым размером/ёмкостью. Это помогает оптимизировать производительность, избегая лишних аллокаций памяти.

Примеры:

// Слайс с начальной ёмкостью 10
slice := make([]int, 0, 10)  

// Канал с буфером на 5 элементов
ch := make(chan int, 5)  

// Мап с начальным размером 100
m := make(map[string]int, 100)  

Почему важно:

  • Для слайсов: уменьшает копирование при append.
  • Для каналов: избегает блокировки при асинхронной работе.
  • Для мапов: снижает вероятность рехеширования.

Использую, когда заранее известен примерный размер данных.