Junior
Ką daro default konstrukcija select sakinyje?
sobes.tech AI
Atsakymas iš AI
select operatoriaus default konstruktas vykdo kodo bloką, jei nė vienas iš kitų select sąraše išvardytų kanalų šiuo metu nėra pasiruošęs skaityti ar rašyti. Tai užkerta kelią gorutinos užblokavimui.
Pavyzdys:
// Pavyzdys su default
select {
case msg1 := <-channel1:
fmt.Println("Gauta žinutė 1:", msg1)
case msg2 := <-channel2:
fmt.Println("Gauta žinutė 2:", msg2)
default:
fmt.Println(" Kanalai nėra pasiruošę, vykdomas default")
}
Naudojant default, select operacija tampa neblokuojanti. Jei default nėra, select lauks, kol vienas iš kanalų taps pasiruošęs.