Задача 1
Написать функцию merge для каналов
Ответ
func merge[T any](channels ...<-chan T) <-chan T {
ch := make(chan T)
var wg sync.WaitGroup
for _, channel := range channels {
wg.Add(1)
go func(c <-chan T) {
defer wg.Done()
for v := range c {
ch <- v
}
}(channel)
}
go func() {
wg.Wait()
close(ch)
}()
return ch
}2. Задача: Реализовать ограничение…