我将为从 proto 消息生成的结构和从 grpc 服务生成的接口指定不同的输出目录。我用这两个标志实现了这一点:--go_out=internal/proto
--go-grpc_out=internal/grpc生成 internal/proto 包后并没有导入到 mymodel_grpc.pb.go 文件中,但如果有任何标志在编译期间自动执行此操作会非常方便。我假设 --go-grpc_opt 标志可以有这样的选项,但我找不到。这种场景的任何体验都很有趣。
1 回答
犯罪嫌疑人X
TA贡献2080条经验 获得超4个赞
如果我理解正确,您想在一个包中生成 protobuf 消息,在另一个包中生成服务绑定。
Protobuf 文件包含一个package
指令,这可以绑定到options
指令,例如对于 Go(lang) 使用go_package=
. 绑定为1:1;一个包(及其消息|服务)绑定到一个例如 Go 包。
注意Protobuf 也支持多种语言,因此它必须提供可以应用一次(在 Protobuf 文件中)但多次使用(在每种语言的生成代码中)的通用解决方案。
所以,我认为你的解决方案是将你的消息和服务分成不同的包(具有不同options
和go_package
规范)。然后,protoc
可以引导生成这些以分离 Golang 包。
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消