Junior
Co robi konstrukcja default w instrukcji select?
sobes.tech AI
Odpowiedź od AI
Instrukcja default w operatorze select wykonuje blok kodu, jeśli żaden z innych kanałów wymienionych w select nie jest gotowy do odczytu lub zapisu w danym momencie. Zapobiega to blokowaniu goroutine.
Przykład:
// Przykład z default
select {
case msg1 := <-channel1:
fmt.Println("Odebrano wiadomość 1:", msg1)
case msg2 := <-channel2:
fmt.Println("Odebrano wiadomość 2:", msg2)
default:
fmt.Println("Kanały nie są gotowe, wykonano default")
}
Użycie default sprawia, że operacja select jest nieblokująca. Jeśli default nie występuje, select będzie czekać, aż jeden z kanałów będzie gotowy.