Sometimes you don’t want to send a value over a channel but use it only as a way to signal an event.

In those cases use chan struct{} to document the fact that the value sent over a channel has no meaning.

Signaling channel is often used as a way to tell goroutines to finish.

https://codeeval.dev/gist/468d22a3462a7a649db1b11c2819830a