ProduceConsume: направленные каналы
Аня просит видимые направления потока. Реализуйте produce(items []int) <-chan int (возвращает канал только для чтения) и consume(ch <-chan int) int (суммирует значения через range).
Показать решение
GolangРешение
func produce(items []int) <-chan int {
ch := make(chan int)
go func() {
for _, it := range items {
ch <- it
}
close(ch)
}()
return ch
}
func consume(ch <-chan int) int {
sum := 0
for v := range ch {
sum += v
}
return sum
}Записаться на разбор
10 000 ₽ · 60 минут · онлайн