Иди и «направляй» это

Простое руководство по каналу

Итак, к настоящему моменту вы должны быть знакомы с горутинами и тем, что они собой представляют. Затем вы хотите услышать от них время от времени. Для этого мы будем использовать каналы.

Что такое канал? Это способ для горутин общаться друг с другом, чтобы они могли выполняться при выполнении некоторых условий.

Вот пример:

Вот как выглядит результат:

Итак, что здесь произошло.

Когда горутина запускается, мы передаем некоторую строку и канал, которые мы инициализировали в строке 12 программы.

В функции worker в строке 8 мы отправили вновь построенную строку в канал, а в строке 17 мы получили значение от c. Обратите внимание, что данные текут в направлении стрелки.

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

Дальнейшее чтение:

https://go.dev/doc/efficient_go#channels