go语言protoc的详细用法与例子

ops/2024/10/9 4:30:09/

一. 原来的项目结构

在这里插入图片描述

二. 选择源proto文件及其目录&目的proto文件及其目录

  1. 在E:\code\go_test\simple_demo\api 文件夹下,递归创建\snapshot\helloworld\v1\ad.pb.go
E:\code\go_test\simple_demo> protoc --go_out=paths=source_relative:./api .\snapshot\helloworld\v1\ad.proto
//source_relative是把后面的src目录&文件递归拷贝的意思。它后面的目录指的是指定目的文件夹,以执行命令的文件夹为准

在这里插入图片描述
2. 在E:\code\go_test\simple_demo\api2文件夹下,递归创建 helloworld\v1\ad.pb.go

E:\code\go_test\simple_demo\snapshot> protoc --go_out=paths=source_relative:../api2 .\helloworld\v1\ad.proto

在这里插入图片描述
3. 在E:\code\go_test\simple_demo/service 生成example.pb.go

E:\code\go_test\simple_demo> protoc --go_out=paths=source_relative:. .\service\example.proto

在这里插入图片描述

三. 控制生成的go文件的package名

proto的go_package有两部分组成
在这里插入图片描述

因为protoc的go_out参数配成了source_relative,所以前面的生成路径不重要。
package名成功被改变
在这里插入图片描述


http://www.ppmy.cn/ops/122987.html

相关文章

Unite Shanghai 2024 团结引擎专场 | 团结引擎 OpenHarmony 工程剖析

在 2024 年 7 月 24 日的 Unite Shanghai 2024 团结引擎专场演讲中,Unity中国 OpenHarmony 技术负责人刘伟贤对团结引擎导出的 OpenHarmony 工程进行了细节剖析,详细讲解 XComponent 如何与引擎结合,UI 线程和引擎线程的关联以及 ts/ets 的代…

【多重循环在Java中的应用】

多重循环在Java中的应用 介绍 多重循环是将一个循环嵌套在另一个循环体内的编程结构。Java中的 for、while 和 do...while 循环均可作为外层循环和内层循环。建议使用两层嵌套,最多不超过三层,以保持代码的可读性。 在多重循环中,外层循环执…

C++面试速通宝典——12

200. 局部变量和全局变量是否可以同名? ‌‌‌‌  可以。局部变量会屏蔽全局变量。要用全局变量,需要使用“::”(域运算符)。 解释: ‌‌‌‌  在C中,局部变量和全局变量可以同名。但是,…

pycharm中使用anaconda创建多环境,无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

问题描述 用的IDE是: 使用anaconda创建了一个Python 3.9的环境 结果使用pip命令的时候,报错 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称 解决方案 为了不再增加系统变量,我们直接将变量添加在当前项目中你的Ter…

vue3+PPTXjs 在线ppt预览

- 使用PPTXjs做ppt预览,有完整的代码包,基于jquery - vue3使用iframe引入用于预览ppt的网页,通过url参数传递需要预览的ppt链接 - 通过网页选择文件上传也可以通过下面的函数把文件转换成链接,实现在文件上传到服务器前就可以预…

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据…

Linux之Docker虚拟化部署

上传docker安装包 解压安装包 将解压后的docker文件夹移动到/usr/local/文件夹下 docker 启动命令/usr/local/docker/dockerd 但是启动报错,意思是没有docker用户组 创建docker用户组,执行完会生成套接字文件 将套接字文件加入该用户组管理 第二个错误原…

015 品牌关联分类

文章目录 后端CategoryBrandEntity.javaCategoryBrandController.javaCategoryBrandServiceImpl.javaCategoryServiceImpl.javaBrandServiceImpl.java删除 npm install pubsub-jsnpm install --save pubsub-js这个错误是由于在尝试安装 pubsub-js 时,npm 发现了项目…