gRPC奇怪的编译命令protoc
举个栗子:
protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld
大神说得没错,读文档就算是全英文,读起来也比你读翻译得一般的中文文档好理解很多
protoc:https://developers.google.com/protocol-buffers/docs/gotutorial
grpc:https://grpc.io/
最近在研究Go实现微服务,protoc与gRPC这里不作介绍,只说一点:这个命令怎么用
首先,protoc是一个编译命令,把protoc把*.protoc文件编译成*.pb.go或者*.pb2.py等等。
protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld
看一下这条命令,/helloworld 是你要提供的相对位置的相对起点,如果是当前所在目录,那就写 . (一个小数点),helloworld/helloworld.proto是你proto文件所在地,后面的 --go_out=plugins=grpc:helloworld是输出目录,如果要输出到helloworld下的hhh目录里,就写为
protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld/hhh
如果proto文件在helloworld目录的mizi里,那么怎么写?
protoc -I helloworld helloworld/mizi/helloworld.proto --go_out=plugins=grpc:helloworld/hhh
大家执行后回发现,它把mizi目录也带到hhh里,也就是把目录结构保留下来了,如果我想得到下面的结果呢?很简单,调一下相对起点就好!
helloworld linge$ protoc -I helloworld/mizi helloworld/mizi/helloworld.proto --go_out=plugins=grpc:helloworld/hhh
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现