Sobes.tech
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.