Назад к вопросам
Senior
4
Для чего на практике используют ключевое слово select?
Компании, где спрашивали
Flant
Ответ от нейросети
sobes.tech AI
В Go ключевое слово select используется для работы с несколькими каналами одновременно. Оно позволяет ждать операции чтения или записи на нескольких каналах и реагировать на ту, которая готова первой. Это удобно для реализации неблокирующей работы с каналами, таймаутов, мультиплексирования и обработки нескольких источников данных.
Пример использования:
select {
case msg := <-ch1:
fmt.Println("Получено из ch1:", msg)
case ch2 <- 42:
fmt.Println("Отправлено в ch2")
case <-time.After(time.Second):
fmt.Println("Таймаут")
}
Здесь select ждет, пока либо придет сообщение из ch1, либо можно будет отправить значение в ch2, либо пройдет таймаут в 1 секунду.