code: func (bd *BinaryDecoder) ReadDouble() (float64, error) {
  	var double float64
  	if err := checkEOF(bd.buf, bd.pos, 8); err != nil {
  		return double, err
  	}
  	bits := binary.LittleEndian.Uint64(bd.buf[bd.pos : bd.pos+8])
  	double = math.Float64frombits(bits)
  	bd.pos += 8
  	return double, nil
  }
docs: // ReadDouble reads a double value. Returns a decoded value and an error if it occurs.