Junior — Middle
Kokia yra raktažodžio 'default' paskirtis select konstrukcijoje?
sobes.tech AI
Atsakymas iš AI
Go konstrukcijoje select rinkinys, raktažodis default naudojamas apdoroti atvejį, kai nė vienas iš kanalų nėra pasiruošęs operacijai (skaityti ar rašyti). Jei nė vienas kanalas nėra prieinamas, default blokas vykdomas nedelsiant, kas leidžia išvengti gorutinos užblokavimo.
Pavyzdys:
select {
case msg := <-ch1:
fmt.Println("Gauta žinutė iš ch1:", msg)
case ch2 <- 42:
fmt.Println("Žinutė išsiųsta į ch2")
default:
fmt.Println("Nė vienas kanalas nėra pasiruošęs, vykdomas default")
}
Taip default leidžia atlikti neblokiruojantį kanalų pasirinkimą.