Создание простого конвейера данных на каналах

GolangBeginner
Практиковаться сейчас

Введение

В рамках этого испытания вы создадите программу на языке Go, которая демонстрирует возможности каналов. Вам предстоит построить простой конвейер обработки данных для передачи целых чисел между горутинами. Необходимо создать буферизованный канал, записать в него числа от 1 до 5, а затем прочитать и вывести каждое число из канала в том же порядке, в котором они были записаны.

Создание простого конвейера данных на каналах

В этом испытании вы напишете программу на Go, иллюстрирующую работу каналов через создание базового конвейера передачи целых чисел.

Задачи

  • Создать буферизованный канал для целых чисел емкостью 5.
  • Записать числа 1, 2, 3, 4 и 5 в этот канал.
  • Прочитать и вывести каждое число из канала в порядке их записи.

Требования

  • Используйте файл ~/project/data_pipeline.go.
  • Создайте буферизованный канал с помощью make(chan int, 5).
  • Используйте оператор отправки в канал <- для записи чисел.
  • Используйте оператор получения из канала <- для чтения чисел.
  • Выводите каждое число с помощью функции fmt.Println().
  • Убедитесь, что все числа были полностью записаны и прочитаны.

Примеры

Запуск программы:

go run data_pipeline.go

Ожидаемый вывод:

1
2
3
4
5

Подсказки

  • Помните, что для отправки значения в канал используется синтаксис ch <- value.
  • Для получения значения из канала используйте value := <-ch.
  • Буферизованные каналы позволяют отправлять несколько значений до того, как выполнение будет заблокировано.
  • При необходимости закройте канал после завершения записи всех значений.
✨ Проверить решение и практиковаться

Резюме

Подводя итог, в этом испытании вы разработали программу на Go, использующую каналы для построения базового конвейера данных. Вы научились создавать буферизованный канал, записывать в него последовательность чисел и корректно извлекать их для последующего вывода.