Sobes.tech
Junior — Middle

W jakim przypadku następuje automatyczny wybór opcji domyślnej w konstrukcji select w języku programowania?

sobes.tech AI

Odpowiedź od AI

W języku Go konstrukcja select służy do pracy z wieloma kanałami jednocześnie. Automatyczny wybór opcji domyślnej następuje, jeśli w select znajduje się blok default i żaden z kanałów nie jest gotowy do operacji (odczytu lub zapisu). W takim przypadku wykonanie natychmiast przechodzi do bloku default, nie blokując goroutine.

Przykład:

select {
case msg := <-ch1:
    fmt.Println("Otrzymano z ch1:", msg)
case ch2 <- 42:
    fmt.Println("Wysłano do ch2")
default:
    fmt.Println("Żaden kanał nie jest gotowy, wykonuje default")
}

Jeśli blok default nie istnieje, select będzie czekać, aż jeden z kanałów będzie gotowy.