Sobes.tech
Junior — Middle

Milyen viselkedés várható, ha megpróbálod bezárni egy már korábban bezárt csatornát?

sobes.tech MI

Válasz az MI-től

Go-ban, ha megpróbálod bezárni egy már bezárt csatornát, panic (pánik) lép fel.

Csatornát csak egyszer lehet bezárni, hogy jelezze, hogy több érték nem lesz küldve.

Ha ismételten meghívod a close(ch)-t ugyanarra a csatornára, a program hibaüzenettel leáll.

Példa:

ch := make(chan int)
close(ch)       // helyes
close(ch)       // panic: close of closed channel

Ezért fontos ellenőrizni, hogy a csatornát csak egyszer zárják be.