title: Checking if a channel has a ready-to-read value, using Go
body: <p>How do I check whether a channel has a value for me to read?</p>
  
  <p>I don't want to block when reading a channel. I want to see whether it has a value. If it does have one, I'll read it. If it doesn't have one (yet), I'll do something else and check back again later.</p>