Sobes.tech
Junior

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

sobes.tech AI

Отговор от 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 ще чака, докато един от каналите не стане готов.