$ protoc --go_out=. --go_opt=paths=source_relative \ --go-grpc_out=. --go-grpc_opt=paths=source_relative \ helloworld/helloworld.proto 这个命令会生成两个pb文件,如果你还想用之前的命令,就需要换一个protoc-gen-go github地址:https://github.com/golang/protobuf goinstall github.com/golang...
--go_out主要的两个参数为 plugins 和 paths,分别表示生成go代码所使用的插件和生成的go代码的位置。--go_out的写法是参数之间用 逗号 隔开,最后加上 冒号 来指定代码的生成位置。比如:--go_out=plugins=grpc,paths=import:.paths参数有两个选项,分别是 import 和 source_relative, 默认...
protoc参数基本含义 --go_out用于指定protoc的工作方式和go代码生成的位置 参数(用,分开): plugins: 生成go代码所用插件 paths: go代码生成的位置: import:${path} 按照生成的go代码的包的全路径来创建目录层级 例如:在demo.proto中定义
go get -u github.com/golang/protobuf/protoc-gen-go从 CMD/Powershell运行。这应该将二进制文件安装到%GOPATH%/bin. 将确切的内容添加%GOPATH%/bin到您的 PATH 环境变量中。 打开新的 CMD/Powershell,导航到您的.proto文件,然后运行protoc --go_out=. *.proto 参考: 如何在Windows中安装protoc-gen-go...
最终了解到使用的是protoc-gen-go-grpc插件。 也通过使用其他插件,总结出一个规律: go_out对应protoc-gen-go插件; go-grpc_out对应protoc-gen-go-grpc插件; ... *_out对应protoc-gen-*插件; 二、例如新老项目使用的protoc-gen-go插件版本不同怎么办?
--include_source_info When using --descriptor_set_out, do not strip SourceCodeInfo from the FileDescriptorProto. This results in vastly larger descriptors that include information about the original location of each decl in the source file as ...
protoc --go_out=plugins=grpc: [文件生成的位置] [proto所在的目录] 当protoc 执行命令的时候,插件解析步骤如下 1、解析proto 文件,类似于AST树的解析,将整个proto文件有用的语法内容提取出来 2、将解析的结果转为成二进制流,然后传入到protoc-gen-xx标准输入。也就是说protoc 会去程序执行路径去找protoc-gen...
也可以在项目根目录下执行:protoc --go_out=plugins=grpc:. ./proto/*.proto , 一条一条的执行, 其中--go_out:设置所生成的Go代码输出目录。该指令会加载protoc-gen-go插件,以达到生成Go代码的目的。生成的文件以.pb.go为后缀,这里的“:”(冒号)有分隔符的作用,后跟命令所需要的参数集,这意味着把生成的...
执行:protoc --go_out=. *.proto , 会生成 .pb.go文件 main.go 代码语言:javascript 代码运行次数:0 复制 Cloud Studio代码运行 packagemainimport("fmt""github.com/golang/protobuf/proto""mypro.com/mypro"//引入的proto的包 , go语言中,一个目录里面的所有文件都应设置成一个包)funcmain(){s1:=&...
--python_out用于生成Python的协议缓冲区代码。 protoc --python_out=OUT_DIR PROTO_FILES 3.5 –go_out --go_out用于生成Go的协议缓冲区代码。 protoc --go_out=OUT_DIR PROTO_FILES 3.6 –objc_out --objc_out用于生成Objective-C的协议缓冲区代码。 protoc --objc_out=OUT_DIR PROTO_FILES 3.7 –ru...