Как работает оператор select?

Ответ

select выбирает одну из готовых операций (отправка или приём) по нескольким каналам. Если готовы несколько - выбор псевдослучайный. Если ни одна не готова - блокируется. С default не блокируется и выполняет default.

select {
case v := <-ch1: use(v)
case ch2 <- x: 
case <-done: return
default: // non-blocking
}
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.