Sobes.tech
Junior

Cosa fa la costruzione default nell'istruzione select?

sobes.tech AI

Risposta dell'AI

La costruzione default nell'istruzione select esegue un blocco di codice se nessuno degli altri canali elencati in select è pronto per leggere o scrivere in quel momento. Questo impedisce alla goroutine di bloccarsi.

Esempio:

// Esempio con default
select {
case msg1 := <-channel1:
	fmt.Println("Messaggio ricevuto 1:", msg1)
case msg2 := <-channel2:
	fmt.Println("Messaggio ricevuto 2:", msg2)
default:
	fmt.Println("Canali non pronti, eseguito default")
}

L'uso di default rende l'operazione select non bloccante. Se default manca, select aspetterà finché uno dei canali non sarà pronto.