Q: golang: how to release a net.Conn from a bfio.Reader In go I have a net.Conn that I wrap with a bufio.Reader. I want to read and parse certain number of lines from the reader, and then obtain back the control over the net.Conn, obtaining back all the temporary data the reader might still have buffered. Is there an easy way to do it?

A: You can get the buffered data from a *bufio.Reader using the following code:
 p, _ := br.Peek(br.Buffered())

where p is a []byte containing the buffered data and br is a *bufio.Reader.
Many applications use the *bufio.Reader as an io.Reader after calling ReadLine and related methods. There's no need to get the buffered data in these applications.  The reader will continue reading from the buffered data as needed.
