Documentation
¶
Index ¶
- func Decode(data []byte, v interface{}) (err error)
- func DecodeString(s string, v interface{}) error
- func Encode(v interface{}) (bs []byte, err error)
- func EncodeString(v interface{}) (string, error)
- func MustDecode(bs []byte, v interface{})
- func MustDecodeString(s string, v interface{})
- func MustEncode(v interface{}) []byte
- func MustEncodeString(v interface{}) string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DecodeString ¶
func Encode ¶
msgpack BUG:解码过程,结构中多个空值时,第二个匿名指针空值会自动被初始化,所以不能使用多个匿名指针 msgpack 字符串/字节数组转换过程使用 unsafepointer 同地址快速转换方法,可能会因内存被回收,编码失败 invalid code=cf decoding string/bytes length 结构嵌套或map嵌套,decode时可能会报错,不稳定
不能动态创建结构,指向结构的 interface{} 解码后会变成 map 需要相应的结构实现扩展接口 EncodeMsgpack(enc *msgpack.Encoder) error / DecodeMsgpack(dec *msgpack.Decoder) error 或 MarshalMsgpack() ([]byte, error) / UnmarshalMsgpack(b []byte) error 通过 msgpack.RegisterExt 注册可以提高效率
encode map[string]interface{},如果数据中值为 int 类型,decode 后类型会根据数值的大小改变,如 int(0) 变为 int8(0) 注意: 必须明确类型,接口类型不能正确编码 隐藏属性会被忽略 最多只能有一个匿名属性,更多的匿名属性会被忽略
func EncodeString ¶
func MustDecode ¶
func MustDecode(bs []byte, v interface{})
func MustDecodeString ¶
func MustDecodeString(s string, v interface{})
func MustEncode ¶
func MustEncode(v interface{}) []byte
func MustEncodeString ¶
func MustEncodeString(v interface{}) string
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.