gpt4 book ai didi

golang-grpc 服务 - 从另一个文件导入类型

转载 作者:行者123 更新时间:2023-12-01 22:27:45 25 4
gpt4 key购买 nike

在我的项目中,我有一个 service_x.proto每个服务的文件和一个 types.proto所有服务共享的类型的文件。但是,当我为 go 编译时,它会将它们放在单独的包中;我也放不下go_package = 'service_x'types.proto的顶部文件,因为它会因每个服务而改变 x它在哪里使用。编译我的服务并可以访问来自 types.proto 的消息类型的最简洁方法是什么?在 service_a.pb.go ?这是一个示例设置:
service_a.proto :

syntax = "proto3";
package service_a;

import "types.proto";

service ServiceA {
rpc SomeRPC (SomeRPCRequest) returns (types.Result)
}

message SomeRPCRequest {
string x = 1;
}
types.proto :
syntax = "proto3";
package types;

message Result {
bool success = 1;
}

最佳答案

那么你可以在 service_a.proto 文件中导入 types.proto 并使用它

例如

syntax = "proto3";
package service_a;

//add this line
import "types.proto"

service ServiceA {
rpc SomeRPC (SomeRPCRequest) returns (types.Result)
}

message SomeRPCRequest {
string x = 1;
}

你可以在这里阅读更多 https://developers.google.com/protocol-buffers/docs/proto#importing-definitions

关于golang-grpc 服务 - 从另一个文件导入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58906482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com