Sobes.tech
Junior — Middle

Aký je účel kľúčového slova 'default' v rámci konštrukcie select?

sobes.tech AI

Odpoveď od AI

V konštrukcii select v Go, klúčové slovo default se použivá za obsluhu prípadov, keď žiadny z kanálov nie je pripravený na operáciu (čítanie alebo zápis). Ak žiadny kanál nie je dostupný, blok default sa vykoná okamžite, čím sa zabráni zablokovaniu gorutiny.

Príklad:

select {
case msg := <-ch1:
    fmt.Println("Správa prijatá z ch1:", msg)
case ch2 <- 42:
    fmt.Println("Správa odoslaná do ch2")
default:
    fmt.Println("Žiadny kanál nie je pripravený, vykonáva sa default")
}

Týmto spôsobom default umožňuje vykonať neblokujúci výber kanálov.