Junior — Middle
Existuje možnost nastavit výchozí hodnotu pro vybrané parametry v příkazu SELECT?
sobes.tech AI
Odpověď od AI
V jazyce Go se operátor select používá k práci s více kanály a nepodporuje přímo nastavování výchozích hodnot parametrů, jako je tomu u funkcí.
Nicméně, v select lze použít blok default, který se vykoná, pokud žádný z kanálů není připraven k operaci. To lze považovat za výchozí chování při absenci dostupných dat.
Příklad:
select {
case msg := <-ch1:
fmt.Println("Přijato z ch1:", msg)
case ch2 <- 42:
fmt.Println("Odesláno do ch2")
default:
fmt.Println("Žádné kanály nejsou připraveny, běží default")
}
Tímto způsobem je default v select způsob, jak nastavit výchozí akci, pokud ostatní kanály nejsou připraveny.