title: How to read input from console in a non blocking way with Go?
body: <p>So I have:</p>
  
  <pre><code>import (
      "bufio"
      "os"
  )
  //...
  var reader = bufio.NewReader(os.Stdin)
  str, err := reader.ReadString('\n')
  </code></pre>
  
  <p>But <code>reader.ReadString('\n')</code> is blocking execution. I would like to read input in a non blocking way. Is it possible to achieve non blocking buffered input from <code>os.Stdin</code> using <code>bufio</code> package or any other std lib package from Go?</p>