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