protobuf 源码
斜杠打卡小程序
这个作者很懒,什么都没留下…
展开
-
【源码阅读】protobuf 中的 duration 包
path: google/protobuf/duration.proto在 duration 中 Duration 包含两个字段seconds 表示时间跨度,允许的值范围是从 -315,576,000,000 到 +315,576,000,000即已 60 秒/分 * 60 分/小时 * 24 小时/天 * 365.25 天/年 * 10000 年 计算出来的值nanos 表示时间跨度的...原创 2020-04-28 10:16:20 · 6135 阅读 · 0 评论 -
【源码阅读】 protobuf 中的 any 包
path: google.golang.org/protobuf/types/known/anypb在 anypb 中 Any 包含两个字段type_url 充当消息全局唯一标识符并解析为该消息的类型value 任意序列化的消息(字节)message Any { string type_url = 1; bytes value = 2;}package ptypesimp...原创 2020-04-27 18:00:04 · 7938 阅读 · 0 评论 -
Protobuf 中 any 的妙用
文章目录目录结构首先,我们定义我们需要传输的消息使用 protoc 编译工具,编译 rsp.proto,生成 rsp.pb.go 文件测试使用 any在使用 GRPC 时,常规的操作是将 message 定义好后进行数据传输,但总会遇到某些数据结构进行组合的操作,采用默认的定义 message 方式,造成代码量的激增。为了解决这个问题 protobuf 提供类型 any 解决 GRPC 中泛型...原创 2020-04-27 10:11:46 · 23473 阅读 · 0 评论 -
Protobuf 中的 timestamp 与 Go time 的转换
package mainimport ( "fmt" "time" "github.com/golang/protobuf/ptypes" "github.com/golang/protobuf/ptypes/timestamp")func main() { var timeProto *timestamp.Timestamp var timeGo time.Time ...原创 2020-04-26 16:56:07 · 10113 阅读 · 3 评论 -
【源码阅读】 protobuf 中的 timestamp 包
Timestamppath: google.golang.org/protobuf/types/known/timestamppb在 timestamppb 中 Timestamp 包含两个字段seconds 表示秒nanos 表示纳秒message Timestamp { int64 seconds = 1; int32 nanos = 2;}timestamp.go...原创 2020-04-26 17:55:55 · 7250 阅读 · 0 评论