3、深入探讨Protobuf编译与日志包构建

深入探讨Protobuf编译与日志包构建

1. Protobuf编译为Go代码

要将Protobuf编译成某种编程语言的代码,需要该语言的运行时环境。在Go语言中,有两种运行时可将Protobuf编译为Go代码。最初的运行时由Go团队和Google的Protobuf团队开发,后来有人分叉了这个运行时并开发出gogoprotobuf,它具有更多代码生成特性,且编组和解组速度更快。像Etcd、Mesos、Kubernetes等项目以及Dropbox和Sendgrid等公司都使用过gogoprotobuf。不过在2020年3月,Go团队发布了用于Protobuf的Go API重大修订版(APIv2),其性能得到提升,并具备反射API,能添加类似gogoprotobuf提供的功能。目前,使用gogoprotobuf的项目已开始转向APIv2,因此建议使用APIv2。

编译步骤如下:
1. 安装Protobuf运行时:

$ go get google.golang.org/protobuf/...@v1.25.0
  1. 在项目根目录下编译Protobuf:
$ protoc api/v1/*.proto \
    --go_out=. \
    --go_opt=paths=source_relative \
    --proto_path=.

编译后,在 api/v1 目录下会生成一个名为 <

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值