Junior — Middle
Wat wordt er verwacht als je probeert een kanaal te sluiten dat al eerder is gesloten?
sobes.tech AI
Antwoord van AI
In Go leidt het proberen om een al gesloten kanaal te sluiten tot een panic.
Een kanaal kan slechts één keer worden gesloten, om aan te geven dat er geen waarden meer worden verzonden.
Als je close(ch) herhaaldelijk voor dezelfde kanaal aanroept, stopt het programma abrupt met een fout.
Voorbeeld:
ch := make(chan int)
close(ch) // correct
close(ch) // panic: close of closed channel
Het is daarom belangrijk om te controleren dat het kanaal slechts één keer wordt gesloten.