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