msgp简介
msgp是MessagePack的缩写,是一种高效的二进制序列化格式,用它官网的一句简单的介绍就是:“It’s like JSON.but fast and small.”,JSON大家都知道吧,基本JSON能做的事,msgp都能做,而且比JSON更快,更小。 官网在这,大家想详细了解的直接移步到官网去围观吧。
msgp应用在golang
既然msgp这么好,那支持的语言肯定很多吧,没错,到目前为止,msgp对大部分主流的语言都已经支持得很好了,包括golang,官方推荐的库在git上的地址https://github.com/tinylib/msgp 安装就直接go get就行
go get -u -t github.com/tinylib/msgp
这样msgp就直接安装到了golang环境中的工具库中。
由于msgp的原理是将字符序列化为二进制格式,因此需要一些转换代码来辅助序列化,当然这些代码并不用我们手动编写,而是由msgp工具生成,结合go1.4以后出来的子命令go generate,在编译前生成所需的辅助代码,就可以调用msgp库中的序列化方法了
package main
import (
"fmt"
)
//go:generate msgp
type Foo struct {
Bar string `msg:"bar"`
Baz float64