为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法在 protoc 编译期间在 grpc.pb.go 中导入生成的结构?

有没有办法在 protoc 编译期间在 grpc.pb.go 中导入生成的结构?

Go
紫衣仙女 2022-12-19 20:28:30
我将为从 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 文件中)但多次使用(在每种语言的生成代码中)的通用解决方案。

所以,我认为你的解决方案是将你的消息和服务分成不同的包(具有不同optionsgo_package规范)。然后,protoc可以引导生成这些以分离 Golang 包。


查看完整回答
反对 回复 2022-12-19
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信