code: func (enc *Encoder) WriteFloat64(n float64) error {
  	bits := math.Float64bits(n)
  	enc.err = enc.buf.WriteByte(byte(bits >> 56))
  	if enc.err == nil {
  		enc.err = enc.buf.WriteByte(byte(bits >> 48))
  		if enc.err == nil {
  			enc.err = enc.buf.WriteByte(byte(bits >> 40))
  			if enc.err == nil {
  				enc.err = enc.buf.WriteByte(byte(bits >> 32))
  				if enc.err == nil {
  					enc.err = enc.buf.WriteByte(byte(bits >> 24))
  					if enc.err == nil {
  						enc.err = enc.buf.WriteByte(byte(bits >> 16))
  						if enc.err == nil {
  							enc.err = enc.buf.WriteByte(byte(bits >> 8))
  							if enc.err == nil {
  								enc.err = enc.buf.WriteByte(byte(bits))
  							}
  						}
  					}
  				}
  			}
  		}
  	}
  	return enc.err
  }
docs: // WriteFloat64 - writes the signed 64 bit float as a varint