Last Updated: May 22, 2026
A select lets one goroutine wait on several channel operations at once and act on whichever one becomes ready first. It's the multi-way switch of Go's concurrency model. Once you've moved past a single sender and single receiver, almost every interesting channel pattern is built on select.