code: func (r *reader) readString() string {
  	buf := make([]byte, 0)
  	for {
  		b := r.readByte()
  		if b == 0 {
  			break
  		}
  		buf = append(buf, b)
  	}
  
  	return string(buf)
  }
docs: // readString reads a null terminated string