Sobes.tech
Junior — Middle

Mis on märksõna 'default' eesmärk select-i ülesehituses?

sobes.tech AI

Vastus AI-lt

Go konstruktsioonis select-i puhul kasutatakse võtmesõna default olukorra käsitlemiseks, kui ükski kanalitest ei ole valmis operatsiooniks (lugemiseks või kirjutamiseks). Kui ükski kanal ei ole saadaval, täidetakse kohe default plokk, mis võimaldab vältida gorutine'i blokeerimist.

Näide:

select {
case msg := <-ch1:
    fmt.Println("Sõnum ch1-st:", msg)
case ch2 <- 42:
    fmt.Println("Sõnum saadetud ch2-le")
default:
    fmt.Println("Ükski kanal ei ole valmis, täidetakse default")
}

Sellisel viisil võimaldab default teha mitte-blokeeriva kanalite valiku.