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