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

在原型中使用结构数组

在原型中使用结构数组

Go
偶然的你 2022-10-04 16:03:27
由于类型不匹配,我无法调用 gRPC 函数我的原型文件 :message Analytics {    fields ...}message AnalyticsSet {    repeated Analytics analytics = 1;}service StatService {    rpc MyMethod(AnalyticsSet) returns (<something>) {}}现在,我需要叫“我的方法”我目前的代码:type Analytics struct {    same fields as in proto : Analytics}analytics := make([]Analytics, 4)// .. some modifications in analytics ..._, err := c.MyMethod(context.Background(), analytics)if err != nil {    log.Fatalf("error: %s", err)}在原型文件中,“AnalyticsSet”是“分析”的数组,而在Go代码中,“分析”是“分析”类型的数组,但这不足以称为“MyMethod”,并且我面临类型不匹配。我应该如何修改 go 代码?
查看完整描述

1 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

必须使用从 proto 文件生成的结构 - 不能使用自己的类型。Analytics

您可以使用文件生成所需的 Go 代码。下面是一个设置了 gRPC 生成选项的示例:。protoc.proto

$ protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative --go-grpc_opt=paths=source_relative analytics.proto

您的原型文件应设置选项来描述生成的原型代码所属的 Go 导入路径。您还需要安装以下设备所需的 go/go-grpc 发电机实用程序:go_packageprotoc

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

更多详细信息,请参阅:


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

添加回答

举报

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