Назад к вопросам
Junior
123
questionbank

Что делает конструкция default в операторе select?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Конструкция default в операторе select выполняет блок кода, если ни один из других каналов, перечисленных в select, не готов к чтению или записи в текущий момент. Это предотвращает блокировку горутины.

Пример:

// Пример с default
select {
case msg1 := <-channel1:
	fmt.Println("Получено сообщение 1:", msg1)
case msg2 := <-channel2:
	fmt.Println("Получено сообщение 2:", msg2)
default:
	fmt.Println("Каналы не готовы, выполнено default")
}

Использование default делает операцию select неблокирующей. Если default отсутствует, select будет ждать, пока один из каналов не будет готов.