commit 7a7441da77bb5551327d141c7e94ce7db5ac3e2a Author: suguo.yao Date: Thu Mar 3 15:10:45 2022 +0800 基本例子 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7b1bb98 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +go.sum +*.exe +logs/ +msgpack-demo \ No newline at end of file diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..bb64f6a --- /dev/null +++ b/go.mod @@ -0,0 +1,10 @@ +module myschools.me/suguo/msgpack-demo + +go 1.17 + +require ( + github.com/golang/protobuf v1.3.1 // indirect + github.com/vmihailenco/msgpack v3.3.3+incompatible // indirect + golang.org/x/net v0.0.0-20190603091049-60506f45cf65 // indirect + google.golang.org/appengine v1.6.7 // indirect +) diff --git a/main.go b/main.go new file mode 100644 index 0000000..9d2a442 --- /dev/null +++ b/main.go @@ -0,0 +1,28 @@ +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) +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..1679662 --- /dev/null +++ b/readme.md @@ -0,0 +1,5 @@ +message pack 解压包demo +=== + +#### 组件 +github.com/vmihailenco/msgpack \ No newline at end of file