Sobes.tech
Junior — Middle

Na czym polega funkcja słowa kluczowego 'default' w konstrukcji select?

sobes.tech AI

Odpowiedź od AI

W konstrukcji select w Go słowo kluczowe default jest używane do obsługi sytuacji, gdy żaden z kanałów nie jest gotowy do operacji (odczytu lub zapisu). Jeśli żaden kanał nie jest dostępny, blok default jest wykonywany natychmiast, co pozwala uniknąć zablokowania goroutine.

Przykład:

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

W ten sposób default pozwala na nieblokujące wybranie kanałów.