title: Does a channel return two values?
body: <p>I saw some code in this link, and got confused:<a href="http://www.darkcoding.net/software/go-lang-after-four-months/">http://www.darkcoding.net/software/go-lang-after-four-months/</a></p>
  
  <p>What's the meaning of the second value(ok)?</p>
  
  <pre><code>for self.isRunning {
  
      select {
      case serverData, ok = &lt;-fromServer:   // What's the meaning of the second value(ok)?
          if ok {
              self.onServer(serverData)
          } else {
              self.isRunning = false
          }
  
      case userInput, ok = &lt;-fromUser:
          if ok {
              self.onUser(userInput)
          } else {
              self.isRunning = false
          }
      }
  
  }
  </code></pre>