Sobes.tech
Junior — Middle

U kom slučaju dolazi do automatskog odabira podrazumevane opcije u konstrukciji select u programskom jeziku?

sobes.tech АИ

Одговор од АИ

U jeziku Go, konstrukcija select se koristi za rad sa više kanala istovremeno. Automatski izbor opcije podrazumevano dešava se ako u select postoji blok default i nijedan od kanala nije spreman za operaciju (čitanje ili pisanje). U tom slučaju, izvršenje odmah prelazi na blok default, bez blokiranja gorutine.

Primer:

select {
case msg := <-ch1:
    fmt.Println("Primljeno iz ch1:", msg)
case ch2 <- 42:
    fmt.Println("Poslato u ch2")
default:
    fmt.Println("Nijedan kanal nije spreman, izvršava se default")
}

Ako nedostaje blok default, select će čekati dok jedan od kanala ne postane spreman.