Junior — Middle
Come si può terminare il lavoro con un canale nel programma?
sobes.tech AI
Risposta dell'AI
In Go, per terminare l'uso di un canale si utilizza la funzione close(). Chiudere un canale segnala ai riceventi che non verranno inviati più nuovi valori. Dopo aver chiuso il canale, tentare di inviarvi provocherà un panico, ma leggere da un canale chiuso è possibile — restituirà un valore zero e false come secondo valore di ritorno.
Esempio:
ch := make(chan int)
go func() {
ch <- 42
close(ch) // Chiudiamo il canale dopo aver inviato
}()
for val := range ch {
fmt.Println(val) // Stamperà 42
}
Pertanto, per terminare l'uso di un canale, bisogna chiamare close(channel).