Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goSpChInr 157 of 280 menu
◀ ▶

Введение в каналы в Go

Канал связывает две горутины: одна кладет значение в общую очередь, другая забирает его, когда готова. Так данные идут по цепочке без гонок за одну переменную в памяти, если обмен идет только через эту связь.

Тип канала пишут как ключевое слово с типом элемента внутри. Создание дает готовую связь; без буфера отправка останавливается, пока кто-то не примет значение, а прием ждет, пока кто-то не отправит.

Отправка и прием используют стрелку к имени канала или от него. Операции блокируют ветку, пока вторая сторона не выполнит парную операцию, если только канал не с буфером или не закрыт.

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить