Урок 80 · Задача 1

ProduceConsume: направленные каналы

Аня просит видимые направления потока. Реализуйте produce(items []int) <-chan int (возвращает канал только для чтения) и consume(ch <-chan int) int (суммирует значения через range).

00:00:00
Показать решение
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
}
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки