code: func readMultiBulkData(conn *bufio.Reader, num int) [][]byte {
  	data := make([][]byte, num)
  	for i := 0; i < num; i++ {
  		buf := readToCRLF(conn)
  		if buf[0] != size_byte {
  			panic(newSystemErrorf("readMultiBulkData - expected: size_byte got: %d", buf[0]))
  		}
  
  		size, e := strconv.Atoi(string(buf[1:]))
  		if e != nil {
  			panic(newSystemErrorWithCause("readMultiBulkData - Atoi parse error", e))
  		}
  		data[i] = readBulkData(conn, size)
  	}
  	return data
  }
docs: // Reads a multibulk response of given expected elements.
  // The initial *num\r\n is assumed to have been consumed.
  //
  // panics on errors (with redis.Error)