code: func readBulkData(r *bufio.Reader, n int) (data []byte) {
  	if n >= 0 {
  		buffsize := n + 2
  		data = make([]byte, buffsize)
  		if _, e := io.ReadFull(r, data); e != nil {
  			panic(newSystemErrorWithCause("readBulkData - ReadFull", e))
  		} else {
  			if data[n] != cr_byte || data[n+1] != lf_byte {
  				panic(newSystemErrorf("terminal was not crlf_bytes as expected - data[n:n+1]:%s", data[n:n+1]))
  			}
  			data = data[:n]
  		}
  	}
  	return
  }
docs: // Reads a multibulk response of given expected elements.
  //
  // panics on errors (with redis.Error)