29 lines
531 B
Go
29 lines
531 B
Go
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
|
||
|
|
"github.com/vmihailenco/msgpack"
|
||
|
|
)
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
//编码
|
||
|
|
b, err := msgpack.Marshal(true)
|
||
|
|
fmt.Printf("%v %#v\n", err, b)
|
||
|
|
|
||
|
|
//解码
|
||
|
|
var out bool
|
||
|
|
err = msgpack.Unmarshal([]byte{0xc3}, &out)
|
||
|
|
fmt.Println(err, out)
|
||
|
|
|
||
|
|
//结构体编码
|
||
|
|
in := map[string]interface{}{"foo": uint32(123456789), "hello": "world"}
|
||
|
|
b, err = msgpack.Marshal(in)
|
||
|
|
fmt.Printf("%v %#v\n", err, b)
|
||
|
|
|
||
|
|
//结构体解码
|
||
|
|
var out1 map[string]interface{}
|
||
|
|
err = msgpack.Unmarshal(b, &out1)
|
||
|
|
fmt.Printf("%v %#v\n", err, out1)
|
||
|
|
}
|