Sobes.tech
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.