Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
5
Слияние нескольких потоков в единый канал
Условие задачи
Необходимо написать функцию, которая собирает данные из произвольного количества входных каналов и выводит их в один результирующий канал. Каждый из входных каналов может заполняться отдельными горутинами, а задача функции — корректно объединить все поступающие значения и закрыть выходной канал только после того, как завершится работа всех источников.
func fanIn(channels ...<-chan int) <-chan int {
out
// реализация объединения
return out
}
Функция должна обеспечить безопасный доступ к общему потоку данных и корректно завершаться, когда все входные каналы закрыты.