protoc参数基本含义 --go_out用于指定protoc的工作方式和go代码生成的位置 参数(用,分开): plugins: 生成go代码所用插件 paths: go代码生成的位置: import:${path} 按照生成的go代码的包的全路径来创建目录层级 例如:在demo.proto中定义
See https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code for more information. 一直提示这个不存在protoc-gen-go,实际明明是有的,若果使用官方文档写的命令是可以成功的 $ protoc --go_out=. --go_opt=paths=source_relative \ --go-grpc_out=. --go-grpc_opt=paths=source_relative \...
也可以在项目根目录下执行:protoc --go_out=plugins=grpc:. ./proto/*.proto , 一条一条的执行, 其中--go_out:设置所生成的Go代码输出目录。该指令会加载protoc-gen-go插件,以达到生成Go代码的目的。生成的文件以.pb.go为后缀,这里的“:”(冒号)有分隔符的作用,后跟命令所需要的参数集,这意味着把生成的...
生成的文件在输出目录中的.pb.go位置取决于–go_out 标识符。有以下模式: paths=import: 输出文件将放置在以 Go 包的导入路径命名的目录中。例如,protos/buzz.proto具有 Go 导入路径的输入文件会example.com/project/protos/fizz导致输出文件位于example.com/project/protos/fizz/buzz.pb.go.paths module=$PREFIX:...
运行命令protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative .\proto\trip.proto生成对应的go文件 上述命令分别生成了2个文件 3.1protoc --go_out=. --go_opt=paths=source_relative .\proto\trip.proto生成了message对应的的trip.pb.go文件,示例...
protoc-I.--go_out=plugins=grpc:.p.proto 可以看到编译后出现了p.pb.go的文件,打开这个文件可以看到,有下面部分代码,我们的消息类型变成了一个结构体 代码语言:javascript 复制 type RequestParm struct{Query string`protobuf:"bytes,1,opt,name=query,proto3" json:"query,omitempty"`Pages int32`protobuf:...
--go_out主要的两个参数为 plugins 和 paths,分别表示生成go代码所使用的插件和生成的go代码的位置。--go_out的写法是参数之间用 逗号 隔开,最后加上 冒号 来指定代码的生成位置。比如:--go_out=plugins=grpc,paths=import:.paths参数有两个选项,分别是 import 和 source_relative, 默认...
如果是使用了新版本的protoc, 那么 要使用 protoc --go_out=. --go-grpc_out=. goods.proto 命令生产,而且安装插件也得变一下,这个我在课程的最新文档中之前就更新过了 https://www.imooc.com/wiki/go/1513.html 这里有详细的说明 0 baoziss 提问者 2021-12-30 报错信息: protoc-gen-go: program ...
最终了解到使用的是protoc-gen-go-grpc插件。 也通过使用其他插件,总结出一个规律: go_out对应protoc-gen-go插件; go-grpc_out对应protoc-gen-go-grpc插件; ... *_out对应protoc-gen-*插件; 二、例如新老项目使用的protoc-gen-go插件版本不同怎么办?