windows下使用GoLand生成proto文件的方法步骤
作者:SunkingYang 发布时间:2023-08-25 16:04:21
标签:GoLand,生成,proto
下载编译器protoc
两种方式:
1、使用google官方protoc
下载地址:https://github.com/google/protobuf/releases
2、使用三方protoc,比如我使用的gogo的protoc
下载地址:https://github.com/gogo/protobuf
设置环境变量
1、把bin目录下的protoc.exe及编译插件复制到xxx/bin下,xxxx/bin加入环境变量,当然也可放在其他目录。
2、需加入环境变量,能让系统找到protoc.exe
编写proto文件
//指定版本
//注意proto3与proto2的写法有些不同
syntax = "proto3";
//包名,通过protoc生成时go文件时
package test;
//请求结构
message ContactBook_Request {
int32 lOperationTarget = 1; // 操作目标
int32 lOperationType = 2; // 操作类型
bytes bData = 3; // 数据内容,含二级list或map
}
//回复结构
message ContactBook_Response {
string strCode = 1; //响应
string strMsg = 2; //详细信息
}
//接口
service storageInfo {
rpc PushStoragedataInfo (ContactBook_Request) returns (ContactBook_Response) {}
}
将proto文件编译为pb.go文件
1、在goland里,进入终端-然后进入proto文件所在目录
2、执行命令:
protoc -I ./ --gogo_out=plugins=grpc:. xxxxx.proto
来源:https://blog.csdn.net/y601500359/article/details/123915916


猜你喜欢
- 你可能在使用MySQL过程中,各种意外导致数据库表的损坏,而且这些数据往往是最新的数据,通常不可能在备份数据中找到。本章将讲述如何检测MyS
- 之前在网上查找了很多相关资料,有说设置icon高度来支持item的,有说要添加自己写指定高度的view来填充的,但是对于一个只有文字的Qco
- 我们都知道ACCESS是ASP的亲密伙伴。因为两种最简单的东西碰在一起总能迸发出火花。然而,当我们过滤不严格的时候经常出现日文字符,这个时候
- 写在前面数据库本质上是一种共享资源,因此在最大程度提供并发访问性能的同时,仍需要确保每个用户能以一致的方式读取和修改数据。锁机制(Locki
- 设置项目气动执行次方法(每天检查一次表记录)public class DayInterval implements ServletConte
- 可以通过model.state_dict()或者model.named_parameters()函数查看现在的全部可训练参数(包括通过继承得
- Javascript函数类型判断完美解决方案在判断函数类型时,我们通常使用typeof方法,一般情况下,它会得到我们所预想的效果。但是,有一
- 最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流!1. 求两个经纬点的方位角,
- 本文实例讲述了Django框架HttpResponse对象用法。分享给大家供大家参考,具体如下:1.HttpResponse可通过HttpR
- 本文实例讲述了python文件读写操作与linux shell变量命令交互执行的方法。分享给大家供大家参考。具体如下:python对文件的读
- 多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感
- 可控制的滚动新闻不同于自动的滚动条,它是通过按钮控制移动的,当你把鼠标放在按钮上时,新闻内容就会向上或
- 如下所示:#ltp_data 字符串 写进777.txt1、def save(filename, contents): fh = open(
- 在JS中有些内存只需执行一遍即可,如浏览器类型检测是最常用的一个功能,因为我们使用Ajax的时候需要检测浏览器的内置的XHR。我们可以在第一
- 相信大多数人都遇到过多实例安装mysql吧,相信大多数人只要找到一份多实例安装的教程就会很容易搞定了,但是越是顺利的安装过程越让我们不安,为
- 1.创建vue项目vue create demodemo是项目名称2.安装axios进入demo里面打开终端(黑窗口),执行npm inst
- Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下。Mac 下编译 Linux 和
- Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip install python-docx安装
- 递归函数两大特点:1.能够调用函数自身2.至少有一个出口(结束函数自身调用)函数实现:def calnum(num): if n
- 目录配置连接池SetMaxOpenConns方法SetMaxIdleConns方法SetConnMaxLifetime方法SetConnMa