// NewReader returns a Reader for r.
// If r already implements both io.ByteReader and io.Reader, NewReader returns r.
// Otherwise, r is wrapped to add the missing interfaces.
NewReader returns a Reader for r.
If r already implements both io.ByteReader and io.Reader, NewReader returns r.
Otherwise, r is wrapped to add the missing interfaces.
// NewReader returns a Reader for r . // If r already implements both io . ByteReader and io . Reader NewReader returns r . // Otherwise r is wrapped to add the missing interfaces .
func NewReader(r io.Reader) Reader {
	if r, ok := r.(Reader); ok {
		return r
	}
	return &byteReader{r}
}
func NewReader ( r io . Reader ) Reader { if r , ok := r . ( Reader ) ; ok { return r } return & byteReader { r } }
NewReader returns a Reader for r.
If r already implements both io.ByteReader and io.Reader, NewReader returns r.
Otherwise, r is wrapped to add the missing interfaces.
NewReader returns a Reader for r . If r already implements both io . ByteReader and io . Reader NewReader returns r . Otherwise r is wrapped to add the missing interfaces .