Для чего нужен массив в канале

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

Ответ

Массив в канале (chan [N]T) используется для передачи фиксированного количества элементов за одну операцию. Это может быть полезно для:

  1. Батчинга – отправки/получения данных пачками, что снижает накладные расходы на синхронизацию.
  2. Гарантии размера – передача всегда N элементов, что упрощает обработку.

Пример:

ch := make(chan [3]int)

go func() {
    batch := [3]int{1, 2, 3}
    ch <- batch // Отправляем весь массив
}()

received := <-ch // Получаем [1, 2, 3]

Но обычно используют слайсы (chan []T), так как они гибче. Массивы в каналах применяют редко, когда нужна строгая фиксированная длина.