grpc --- protoc生成的pb.go文件的位置

这篇具有很好参考价值的文章主要介绍了grpc --- protoc生成的pb.go文件的位置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、环境相关版本

go             v1.20.5
protoc         v4.24.0
protoc-gen-go  v1.26.0

protoc-gen-go版本过高时需要指定包名,即go_package
 

二、go_package配置为当前目录下

option go_package="/";

 /表示生成的pb.go文件在当前目录下。
 
grpc --- protoc生成的pb.go文件的位置,go,golang,grpc,protoc

  此时是在demo下执行,所以pb.go文件生成在demo下。
 
 
grpc --- protoc生成的pb.go文件的位置,go,golang,grpc,protoc

  此时是在demo/api下执行,所以pb.go文件生成在demo/api下。

 

三、go_package配置为指定目录

option go_package="/main";

  指定生成的pb.go文件生成在当前路径下的main文件夹中

 
grpc --- protoc生成的pb.go文件的位置,go,golang,grpc,protoc

  此时是在demo下执行,所以pb.go文件生成在demo/main下。

 

grpc --- protoc生成的pb.go文件的位置,go,golang,grpc,protoc

  此时是在demo/api下执行,所以pb.go文件生成在demo/api/main下。
 
 
grpc --- protoc生成的pb.go文件的位置,go,golang,grpc,protoc

  但是通过go_out的参数 可以指定pb.go生成的层级,如指定了./api,那么此时虽然是在demo层级下执行,但执行的结果在demo/api层级中。

 

四、结论

  所以如果要生成到指定目录下,实际生成的位置是当前位置/go_out位置/go_package位置,如果每次执行的当前位置不一样,记得调整go_out的位置。

 
参考链接:
https://blog.miuyun.work/archives/13919709

 
如有不对,烦请指出,感谢!文章来源地址https://www.toymoban.com/news/detail-586083.html

到了这里,关于grpc --- protoc生成的pb.go文件的位置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mac下 Error “protoc-gen-go: program not found or is not executable“

    在Mac下使用protoc生成go代码时: 提示如下环境变量错误: 插件安装方式: 解决方案一(推荐): 使用Homebrew安装所需插件: 检查是否安装成功: 解决方案二: 添加: 刷新环境变量:

    2024年02月11日
    浏览(28)
  • 【Golang】解决Go test执行单个测试文件提示未定义问题

    目录 背景 根本原因 解决方法 解决 多级引用或多个引用包的情况 总结  资料获取方法 很多人记录过怎么执行Go test单个文件或者单个函数,但是要么对执行单文件用例存在函数或变量引用的场景避而不谈,要么提示调用了其它文件中的模块会报错。其实了解了go test命令的机

    2024年02月14日
    浏览(27)
  • golang如何生成zip压缩文件

    在Golang中,您可以使用标准库中的compress/zip包来生成ZIP压缩文件。下面是一个简单的示例代码,演示如何使用该包来创建一个ZIP文件并将文件添加到其中: 在上述代码中,我们首先创建了一个缓冲区(buf),用于存储ZIP文件的内容。然后,我们使用zip.NewWriter函数创建了一个

    2024年02月09日
    浏览(28)
  • [golang 微服务] 4. gRPC介绍,Protobuf结合gRPC 创建微服务

    gRPC是一个 高性能 、 开源 和 通用 的 RPC 框架 , 面向移动端 和 HTTP/2 设计,目前提供 C、Java 和 Go语言版本,分别是:grpc, grpc-java, grpc-go, 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持 (1).提供几乎所有主流语言的实现, 打破语言隔阂 (2). 基于 HTTP/2 标准设计

    2024年02月04日
    浏览(36)
  • golang grpc配置使用实战教程

    RPC是远程过程调用(Remote Procedure Call)的缩写形式, RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性。通俗地讲, 使用RPC进行通信,调用远程函数就像调用本地函数一样,RPC底层会做好数据的序列化与传输。

    2024年02月03日
    浏览(31)
  • golang判断目录是否存在和生成日志文件

    package main import (     \\\"fmt\\\"     \\\"io\\\"     \\\"os\\\"     \\\"time\\\"     \\\"github.com/sirupsen/logrus\\\" ) func main() {     defer func() {         err := recover()         if err != nil {             logrus.Info(err)         }     }()     log_path := \\\"runtime/logs/\\\"     _, err := os.Stat(log_path)     if err != nil {         i

    2024年02月16日
    浏览(48)
  • 让golang程序生成coredump文件并进行调试

    今天讲讲怎么让golang程序生成coredump文件,并且进行调试的。 别看我写了不少golang的博客,其实我平时写c++的时间更多,所以也算和coredump是老相识了。 core dump 文件实际上是进程在某个时间点时的内存映像,当时进程使用的内存是啥样就会被原样保存下来存在文件系统的某个

    2024年02月12日
    浏览(25)
  • Go 单元测试中 testing 包的数据类型M/T/B/PB

    testing.M 对main方法进行的测试 testing.T 对函数/方法进行单元测试 testing. B 对性能进行的测试 testing.PB - 命令 作用 go test 【包名】或 go test . 运行当前package内的所有用例 go test ./… 或 go test 【目录名】/… 递归执行当前目录下所有用例: go test -v [单元测试文件]. // 如 go test -v f

    2024年04月17日
    浏览(19)
  • golang 通用的 grpc http 基础开发框架

    golang 通用的 grpc http 基础开发框架 仓库地址: https://github.com/webws/go-moda 仓库一直在更新,欢迎大家吐槽和指点 transport: 集成 http(echo、gin)和 grpc。 tracing: openTelemetry 实现微务链路追踪 pprof: 分析性能 config: 通用的配置文件读取模块,支持 toml、yaml 和 json 格式。 logger: 日志系统

    2024年02月10日
    浏览(27)
  • 【gRPC】go语言实现gRPC(示例实践演示)

    目录 1、获取gRPC和Protobuf依赖 2、安装protobuf编译器 3、安装两个插件  4、编译proto文件 5、服务端 6、客户端 7、结果展示 goLand配置 Release Protocol Buffers v21.6 · protocolbuffers/protobuf · GitHub Protocol Buffers - Google\\\'s data interchange format - Release Protocol Buffers v21.6 · protocolbuffers/protobuf https:

    2023年04月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包