【grpc】protobuf学习笔记(一):生成一个比较综合的message

本文介绍了protobuf在golang中的应用,包括其基本概念、数据格式、语法结构,以及如何定义和使用复杂的数据类型如枚举、any和时间戳,以及如何通过protoc生成go代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一年前学过对应的知识,终究是太潦草了,这几天网上学习了一下,重新写一下笔记。这里是protobuf和golang的结合

一、protobuf

protobuf实际上是一种类似json和gob之类的数据格式,也是grpc的御用格式吧(有自己的优势,这里我就不写了),其有着自己的定义方式,结合对应的指令可以实现转化成对应语言的操作。

二、写一个复杂一点的例子

先把我写的例子,整体粘过来,然后再做具体的分析

syntax="proto3";//顶格声明protobuf版本,默认是protobuf2
// 注意一下语句后面要加";",否则不识别
package user;//定义一下protobuf的包名,包名影响什么后续会写
import "role.proto";//这里编辑器报错不用管,应该是插件不能识别的问题
import "parent.proto";
import "google/protobuf/any.proto";//引入any类型
import "google/protobuf/timestamp.proto";//引入时间戳类型
/*
import public "some path"
这个public关键词用于控制这个包的依赖是否可以传递,例子如下

a.proto:
import "b.proto"
import public "c.proto"

index.proto:
import "a.proto"
那么这个index文件当中除了能使用a文件中定义的变量,还能使用c文件当中的遍历,但是b文件就不能使用

*/
option go_package="../grpc;g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值