Sobes.tech
Junior — Middle

V jakém případě dochází k automatickému výběru výchozí možnosti v konstrukci select v programovacím jazyce?

sobes.tech AI

Odpověď od AI

V jazyce Go se konstrukce select používá k práci s více kanály současně. Automatický výběr výchozí varianty nastává, pokud v select je blok default a žádný z kanálů není připraven k operaci (čtení nebo zápis). V takovém případě se provádění okamžitě přesune do bloku default, aniž by blokovalo gorutinu.

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ál není připraven, provádí se default")
}

Pokud chybí blok default, select bude čekat, dokud jeden z kanálů nebude připraven.