Sobes.tech
Назад к вопросам
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 секунду.