Sobes.tech
Junior — Middle

Kādā gadījumā notiek automātiska noklusējuma opcijas izvēle select konstrukcijā programmēšanas valodā?

sobes.tech AI

Atbilde no AI

Go valodā konstrukcija select tiek izmantota, lai vienlaikus darbotos ar vairākiem kanāliem. Automātiska izvēle pēc noklusējuma notiek, ja select ir iekļauts default bloks un neviens no kanāliem nav gatavs operācijai (lasīšanai vai rakstīšanai). Šādā gadījumā izpilde nekavējoties pāriet uz default bloku, neblokējot gorutīnu.

Piemērs:

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

Ja default bloks nav, select gaidīs, līdz viens no kanāliem kļūs gatavs.