Канал Go — типизированный механизм передачи значений и синхронизации горутин. Его создают через make, а операции могут ждать готовности второй стороны.
Что такое канал в Go?
Канал Go — типизированный механизм передачи значений и синхронизации горутин. Его создают через make, а операции могут ждать готовности второй стороны.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Канал Go — типизированный механизм передачи значений и синхронизации горутин. Его создают через make, а операции могут ждать готовности второй стороны.
Небуферизованный канал связывает отправку с получением, буферизованный хранит ограниченное число значений. Закрытие сообщает, что новых отправок не будет; читатель может проверить ok или использовать range. Канал не делает переданный указатель автоматически безопасным для совместного изменения: владение данными всё равно нужно согласовать.