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示例
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 个人觉得,有谷歌翻译,百度翻译。加上自己的理解。自个看看官方文档也还不错。下面98%是谷歌翻译跟百度翻译的。剩余2...
- 1.仿 涨乐财富通 详情页面 买入卖出占比扇形图 原图: 本文需要仿写的就是这个扇形图 2.思路分析 2.1:画...
- 通过 Vue 学习笔记01 —— 开发环境搭建 我们创建了一个 my-project。我们需要对项目的结构进行...
- uniform示例 在绘制三角形的程序中,三角形的颜色是直接在着色器程序中设置的,现在我们将三角形的颜色控制设定在...
- this:使用“this(类型全限定名)”匹配当前AOP代理对象类型的执行方法 注意 是AOP代理对象的类型匹配,...