• Задача
  • Решение
  • Обсуждение

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
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

00:00:00
Наш сайт собирает куки. Чтобы тебе было удобнее им пользоваться. Нажимая на кнопку, ты даёшь разрешение собирать куки