官网: https://msgpack.org/
MessagePack是一种有效的二进制序列化格式。它使您可以在JSON等多种语言中交换数据。但是它更快,更小。小整数被编码为单个字节,典型的短字符串除了本身之外,仅需要一个额外的字节。msgpack会将数据打包成二进制的数据,它的数据格式与json类似,但是在存储时对数字、多字节字符、数组等都做了很多优化,减少了无用的字符,二进制格式,也保证不用字符化带来额外的存储空间的增加,所以在很大程度上减少来传输数据的大小。
特性:
import "github.com/vmihailenco/msgpack/v5"
type Item struct {
Foo string
}
func main() {
b, err := msgpack.Marshal(&Item{Foo: "bar"})
if err != nil {
panic(err)
}
var item Item
err = msgpack.Unmarshal(b, &item)
if err != nil {
panic(err)
}
fmt.Println(item.Foo)
// Output: bar
}