func (r *Reader) ReadString(n int) string {
	if r.err != nil {
		return ""
	}

	var buf []byte
	if n <= maxPoolStringLen {
		buf = r.buf[:n]
	} else {
		buf = make([]byte, n)
	}

	var readN int
	readN, r.err = io.ReadFull(r.reader, buf)
	if readN < n {
		return ""
	}
	s := string(buf)

	return s
}
func (r *Reader) ReadString(n int) string {
	if r.err != nil {
		return ""
	}

	var buf []byte
	if n <= maxPoolStringLen {
		buf = r.buf[:n]
	} else {
		buf = make([]byte, n)
	}

	var readN int
	readN, r.err = io.ReadFull(r.reader, buf)
	if readN < n {
		return ""
	}
	s := string(buf)

	return s
}
func ( r * Reader ) ReadString ( n int ) string { if r . err != nil { return " " } var buf [ ] byte if n <= maxPoolStringLen { buf = r . buf [ : n ] } else { buf = make ( [ ] byte , n ) } var readN int readN , r . err = io . ReadFull ( r . reader , buf ) if readN < n { return " " } s := string ( buf ) return s }
// ReadString reads a string of length n.
ReadString reads a string of length n .