Ответ
Массив в канале (chan [N]T) используется для передачи фиксированного количества элементов за одну операцию. Это может быть полезно для:
- Батчинга – отправки/получения данных пачками, что снижает накладные расходы на синхронизацию.
- Гарантии размера – передача всегда N элементов, что упрощает обработку.
Пример:
ch := make(chan [3]int)
go func() {
batch := [3]int{1, 2, 3}
ch <- batch // Отправляем весь массив
}()
received := <-ch // Получаем [1, 2, 3]
Но обычно используют слайсы (chan []T), так как они гибче. Массивы в каналах применяют редко, когда нужна строгая фиксированная длина.