2020-09-26

package main

/*

本文通过golang 实现msgpack字节流. 

参见 :   https://github.com/hashicorp/memberlist.git    util.go  decode()   encode()

*/

import (

    "bytes"

    "fmt"

 

    "github.com/hashicorp/go-msgpack/codec"

)

 

func main() {

    msgType := 1

    in := map[string]string{"": "b", "c": "d"}

    buf := bytes.NewBuffer(nil)

    buf.WriteByte(uint8(msgType))

    hd := codec.MsgpackHandle{}

    enc := codec.NewEncoder(buf, &hd)

    _ = enc.Encode(in)

    fmt.Println(fmt.Sprintf("%v", buf.Bytes()))

 

    r := bytes.NewReader(buf.Bytes()[1:])

    hd2 := codec.MsgpackHandle{}

    dec := codec.NewDecoder(r, &hd2)

    out := map[string]string{}

    dec.Decode(out)

 

    fmt.Println(fmt.Sprintf("%v", out))

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值