Senior
Cosa succede quando si scrive in un canale non inizializzato (nil)?
sobes.tech AI
Risposta dell'AI
In Go, scrivere in un canale non inizializzato (nil) porta al blocco della goroutine indefinitamente, poiché un canale nil non è pronto a ricevere o inviare dati.
Esempio:
var ch chan int // ch == nil
func main() {
ch <- 1 // si blocca indefinitamente, poiché il canale è nil
}
Questo comportamento viene talvolta usato per abilitare/disabilitare dinamicamente i canali in select, poiché le operazioni con canali nil non vengono mai eseguite e bloccano la goroutine.