marshaller.go
func (m *Marshaller) MarshalUint64(v uint64) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+8 {
		m.Error = io.ErrShortBuffer
		return
	}

	m.Data[m.offset+0] = byte(v >> 56)
	m.Data[m.offset+1] = byte(v >> 48)
	m.Data[m.offset+2] = byte(v >> 40)
	m.Data[m.offset+3] = byte(v >> 32)
	m.Data[m.offset+4] = byte(v >> 24)
	m.Data[m.offset+5] = byte(v >> 16)
	m.Data[m.offset+6] = byte(v >> 8)
	m.Data[m.offset+7] = byte(v)
	m.offset += 8
}
func (m *Marshaller) MarshalUint64(v uint64) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+8 {
		m.Error = io.ErrShortBuffer
		return
	}

	m.Data[m.offset+0] = byte(v >> 56)
	m.Data[m.offset+1] = byte(v >> 48)
	m.Data[m.offset+2] = byte(v >> 40)
	m.Data[m.offset+3] = byte(v >> 32)
	m.Data[m.offset+4] = byte(v >> 24)
	m.Data[m.offset+5] = byte(v >> 16)
	m.Data[m.offset+6] = byte(v >> 8)
	m.Data[m.offset+7] = byte(v)
	m.offset += 8
}
// MarshalString appends the uint64 to the buffer.