Sobes.tech
Junior — Middle

Kāda ir atslēgas vārda 'default' nozīme select konstrukcijā?

sobes.tech AI

Atbilde no AI

Go konstrukcijā select blokā atslēgas vārds default tiek izmantots, lai apstrādātu gadījumu, kad neviens no kanāliem nav gatavs operācijai (lasīšanai vai rakstīšanai). Ja neviens kanāls nav pieejams, default bloks tiek izpildīts nekavējoties, kas ļauj izvairīties no gorutīnas bloķēšanas.

Piemērs:

select {
case msg := <-ch1:
    fmt.Println("Saņemta ziņa no ch1:", msg)
case ch2 <- 42:
    fmt.Println("Ziņa nosūtīta uz ch2")
default:
    fmt.Println("Neviens kanāls nav gatavs, tiek izpildīts default")
}

Tādējādi, default ļauj veikt neblokējošu kanālu izvēli.