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.