package yu_pack // -----------------------------------------------------------------------------------------------------组包 func (t *Pack) PushByte(val ...byte) *Pack { t.Grow(len(val)) t.buf = append(t.buf, val...) return t } /* PushInt16L 追加int16数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushInt16L(val ...int16) *Pack { t.Grow(2 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8)) } return t } /* PushInt16B 追加int16数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushInt16B(val ...int16) *Pack { t.Grow(2 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>8), byte(val[j_i])) } return t } /* PushInt16L 追加int16数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushUint16L(val ...uint16) *Pack { t.Grow(2 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8)) } return t } /* PushInt16B 追加int16数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushUint16B(val ...uint16) *Pack { t.Grow(2 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>8), byte(val[j_i])) } return t } /* PushInt32L 追加int32数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushInt32L(val ...int32) *Pack { t.Grow(4 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8), byte(val[j_i]>>16), byte(val[j_i]>>24), ) } return t } /* PushInt32B 追加int32数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushInt32B(val ...int32) *Pack { t.Grow(4 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>24), byte(val[j_i]>>16), byte(val[j_i]>>8), byte(val[j_i]), ) } return t } /* PushInt32L 追加int32数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushUint32L(val ...uint32) *Pack { t.Grow(4 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8), byte(val[j_i]>>16), byte(val[j_i]>>24), ) } return t } /* PushInt32B 追加int32数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushUint32B(val ...uint32) *Pack { t.Grow(4 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>24), byte(val[j_i]>>16), byte(val[j_i]>>8), byte(val[j_i]), ) } return t } /* PushInt64L 追加int64数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushInt64L(val ...int64) *Pack { t.Grow(8 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8), byte(val[j_i]>>16), byte(val[j_i]>>24), byte(val[j_i]>>32), byte(val[j_i]>>40), byte(val[j_i]>>48), byte(val[j_i]>>56), ) } return t } /* PushInt64B 追加int64数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushInt64B(val ...int64) *Pack { t.Grow(8 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>56), byte(val[j_i]>>48), byte(val[j_i]>>40), byte(val[j_i]>>32), byte(val[j_i]>>24), byte(val[j_i]>>16), byte(val[j_i]>>8), byte(val[j_i]), ) } return t } /* PushInt64L 追加int64数据 val 可循环添加,字节序为:小端字节序——将低序字节存储在起始地址(123=>[123 0]) */ func (t *Pack) PushUint64L(val ...uint64) *Pack { t.Grow(8 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]), byte(val[j_i]>>8), byte(val[j_i]>>16), byte(val[j_i]>>24), byte(val[j_i]>>32), byte(val[j_i]>>40), byte(val[j_i]>>48), byte(val[j_i]>>56), ) } return t } /* PushInt64B 追加int64数据 val 可循环添加,字节序为:大端字节序——将高序字节存储在起始地址(123=>[0 123]) */ func (t *Pack) PushUint64B(val ...uint64) *Pack { t.Grow(8 * len(val)) for j_i := 0; j_i < len(val); j_i++ { t.buf = append(t.buf, byte(val[j_i]>>56), byte(val[j_i]>>48), byte(val[j_i]>>40), byte(val[j_i]>>32), byte(val[j_i]>>24), byte(val[j_i]>>16), byte(val[j_i]>>8), byte(val[j_i]), ) } return t } func (t *Pack) PushBytes(val []byte) *Pack { t.Grow(len(val)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesByte(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 1) j_len += add t.buf = append(t.buf, byte(j_len)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt16L(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 2) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt16B(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 2) j_len += add t.buf = append(t.buf, byte(j_len>>8), byte(j_len)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt32L(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 4) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8), byte(j_len>>16), byte(j_len>>24), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt32B(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 4) j_len += add t.buf = append(t.buf, byte(j_len>>24), byte(j_len>>16), byte(j_len>>8), byte(j_len), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt64L(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 8) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8), byte(j_len>>16), byte(j_len>>24), byte(j_len>>32), byte(j_len>>40), byte(j_len>>48), byte(j_len>>56), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushBytesInt64B(val []byte, add int) *Pack { j_len := len(val) t.Grow(j_len + 8) j_len += add t.buf = append(t.buf, byte(j_len>>56), byte(j_len>>48), byte(j_len>>40), byte(j_len>>32), byte(j_len>>24), byte(j_len>>16), byte(j_len>>8), byte(j_len), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushString(val string) *Pack { t.Grow(len(val)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringByte(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 1) j_len += add t.buf = append(t.buf, byte(j_len)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt16L(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 2) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt16B(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 2) j_len += add t.buf = append(t.buf, byte(j_len>>8), byte(j_len)) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt32L(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 4) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8), byte(j_len>>16), byte(j_len>>24), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt32B(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 4) j_len += add t.buf = append(t.buf, byte(j_len>>24), byte(j_len>>16), byte(j_len>>8), byte(j_len), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt64L(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 8) j_len += add t.buf = append(t.buf, byte(j_len), byte(j_len>>8), byte(j_len>>16), byte(j_len>>24), byte(j_len>>32), byte(j_len>>40), byte(j_len>>48), byte(j_len>>56), ) t.buf = append(t.buf, val...) return t } func (t *Pack) PushStringInt64B(val string, add int) *Pack { j_len := len(val) t.Grow(j_len + 8) j_len += add t.buf = append(t.buf, byte(j_len>>56), byte(j_len>>48), byte(j_len>>40), byte(j_len>>32), byte(j_len>>24), byte(j_len>>16), byte(j_len>>8), byte(j_len), ) t.buf = append(t.buf, val...) return t }