Sobes.tech
Junior — Middle

În ce caz are loc alegerea automată a opțiunii implicite în construcția select într-un limbaj de programare?

sobes.tech AI

Răspuns de la AI

În limbajul Go, construcția select este utilizată pentru a lucra cu mai multe canale simultan. Se face o alegere automată pentru cazul implicit dacă în select există un bloc default și niciunul dintre canale nu este gata pentru operație (citire sau scriere). În acest caz, execuția trece imediat la blocul default, fără a bloca goroutine.

Exemplu:

select {
case msg := <-ch1:
    fmt.Println("Primite de la ch1:", msg)
case ch2 <- 42:
    fmt.Println("Trimis în ch2")
default:
    fmt.Println("Niciun canal nu este gata, se execută default")
}

Dacă lipsește blocul default, select va aștepta până când unul dintre canale devine gata.