A closed channel permits no further sends, but receives continue: buffered values arrive first, followed by the message type’s zero value. Closing is final, so the channel cannot be reopened. section 9.5.2
Broadcasting a quit signal
A concurrent maze solver closes its quit channel when one explorer finds the treasure: close(s.quit). Every worker can then receive from the closed channel and stop without requiring one quit message per goroutine. section 9.5.2

