syntax = "proto3"; //在最上面定义使用的是proto3
package cars; //定义本文件的package名
option go_package = "trip/proto;tripPb"; //定义生成go文件的package路径,tripPb相当于生成包的别名
//定义一个消息类型,类似go的struct
message Location {
double lat = 1; //定义浮点数类型,字段名lat,`=1`代表顺序排在第一个
double lon = 2;
}
message Trip{
string start = 1;
string end = 2;
int64 duration_sec = 3;
int64 fee_cent = 4;
Location start_pos = 5; //引用上面定义的message类型,字段名start_pos,`=5`代表顺序排在第五个
Location end_pos = 6; //字段名end_pos,生成go代码时会使用驼峰规则
repeated Location path_locations = 7; //repeated定义为复合类型,类似go的slice或php的数组
TripStatus status = 8; //引用下面的枚举类型,代表状态
}
//定义枚举类型
enum TripStatus {
IS_NOT_SPECIFIED = 0;
NOT_START = 1;
IN_PROGRESS = 2;
FINISHED = 3;
PAID = 4;
OVER = 5;
}
message GetTripRequest {
string id = 1;
}
message GetTripResponse{
string id = 1;
Trip trip = 2;
}
//定义GRPC的服务端和客户端
service TripService {
//定义服务接口GetTrip,接收参数为 GetTripRequest,返回为GetTripResponse
rpc GetTrip (GetTripRequest) returns (GetTripResponse);
}
02.proto示例
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 个人觉得,有谷歌翻译,百度翻译。加上自己的理解。自个看看官方文档也还不错。下面98%是谷歌翻译跟百度翻译的。剩余2...
- 1.仿 涨乐财富通 详情页面 买入卖出占比扇形图 原图: 本文需要仿写的就是这个扇形图 2.思路分析 2.1:画...
- 通过 Vue 学习笔记01 —— 开发环境搭建 我们创建了一个 my-project。我们需要对项目的结构进行...
- uniform示例 在绘制三角形的程序中,三角形的颜色是直接在着色器程序中设置的,现在我们将三角形的颜色控制设定在...
- this:使用“this(类型全限定名)”匹配当前AOP代理对象类型的执行方法 注意 是AOP代理对象的类型匹配,...