marshaller.go
func (m *Marshaller) MarshalString(s string) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4+len(s)+Padding(len(s)) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.MarshalUint32(uint32(len(s)))
	m.offset += copy(m.Data[m.offset:], s)
	m.offset += copy(m.Data[m.offset:], padBytes[:Padding(len(s))])
}
func (m *Marshaller) MarshalString(s string) {
	if m.Error != nil {
		return
	}
	if len(m.Data) < m.offset+4+len(s)+Padding(len(s)) {
		m.Error = io.ErrShortBuffer
		return
	}

	m.MarshalUint32(uint32(len(s)))
	m.offset += copy(m.Data[m.offset:], s)
	m.offset += copy(m.Data[m.offset:], padBytes[:Padding(len(s))])
}
func ( m * Marshaller ) MarshalString ( s string ) { if m . Error != nil { return } if len ( m . Data ) < m . offset + 4 + len ( s ) + Padding ( len ( s ) ) { m . Error = io . ErrShortBuffer return } m . MarshalUint32 ( uint32 ( len ( s ) ) ) m . offset += copy ( m . Data [ m . offset : ] , s ) m . offset += copy ( m . Data [ m . offset : ] , padBytes [ : Padding ( len ( s ) ) ] ) }
// MarshalString appends the string to the buffer, with a size prefix and
// correct padding.
MarshalString appends the string to the buffer with a size prefix and correct padding .