Sobes.tech
Junior — Middle

In quale caso avviene la selezione automatica dell'opzione predefinita in una costruzione select in un linguaggio di programmazione?

sobes.tech AI

Risposta dell'AI

Nel linguaggio Go, la costruzione select viene utilizzata per lavorare con più canali contemporaneamente. La selezione automatica della variante di default avviene se in select è presente un blocco default e nessuno dei canali è pronto per l'operazione (lettura o scrittura). In questo caso, l'esecuzione passa immediatamente al blocco default, senza bloccare la goroutine.

Esempio:

select {
case msg := <-ch1:
    fmt.Println("Ricevuto da ch1:", msg)
case ch2 <- 42:
    fmt.Println("Inviato a ch2")
default:
    fmt.Println("Nessun canale pronto, eseguo default")
}

Se manca il blocco default, select aspetterà finché uno dei canali non sarà pronto.