Back to questions
Senior
5
Для чего на практике используют ключевое слово select?
Companies where asked
Flant
Answer from AI
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 секунду.