Junior — Middle
Lehetőség van alapértelmezett érték megadására a kiválasztott paraméterekhez a SELECT utasításban?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a select operátor több csatornával való munkára szolgál, és nem támogatja közvetlenül az alapértelmezett értékek beállítását a paraméterekhez, mint ahogy ez a függvények esetében szokás.
Azonban a select-en belül használható egy default blokk, amely akkor fut le, ha egyik csatorna sem kész az műveletre. Ezt tekinthetjük alapértelmezett viselkedésnek, ha nem áll rendelkezésre adat.
Példa:
select {
case msg := <-ch1:
fmt.Println("Kaptam ch1-ről:", msg)
case ch2 <- 42:
fmt.Println("Elküldve ch2-re")
default:
fmt.Println("Nincs kész csatorna, default fut")
}
Így a default a select-en belül egy módja annak, hogy alapértelmezett műveletet határozzunk meg, ha a többi csatorna nem kész.