Junior — Middle
Hoe kun je het werken met een kanaal in het programma beëindigen?
sobes.tech AI
Antwoord van AI
In Go wordt de functie close() gebruikt om de werking met een kanaal af te sluiten. Het sluiten van een kanaal geeft aan dat er geen nieuwe waarden meer worden verzonden. Na het sluiten van het kanaal zal een poging om ernaar te sturen een panic veroorzaken, maar lezen uit een gesloten kanaal is mogelijk — het retourneert een nulwaarde en false als tweede waarde.
Voorbeeld:
ch := make(chan int)
ngo func() {
ch <- 42
close(ch) // Sluit het kanaal na verzending
}()
for val := range ch {
fmt.Println(val) // Drukt 42 af
}
Dus, om de werking met een kanaal te beëindigen, moet close(channel) worden aangeroepen.