首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Go中模仿proto.Message

在Go中模仿proto.Message
EN

Stack Overflow用户
提问于 2022-05-19 06:25:53
回答 1查看 437关注 0票数 2

我编写了一个函数,它接收proto.Message对象的列表。从文档的角度来看,proto.Message似乎封装了包含单个函数ProtoReflect() Messageprotoreflect.ProtoMessage。查看文档 for Message,它实现了许多其他函数,这些函数返回protoreflect包引用的类型。

尝试创建一个模拟proto.Message似乎需要做更多的工作,但我不想在创建一个protobuf文件、编译它和仅仅为了单元测试而引用它的整个过程中进行。

还有其他方法可以创建模拟proto.Message对象吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-24 04:57:39

在进一步研究这一问题之后,我决定最好的做法是创建一个实际的protobuf消息:

代码语言:javascript
复制
syntax = "proto3";
package my.package;

option go_package = "path/to/my/package"; // golang

message TestRecord {
    string key = 1;
    string value = 2;
}

并将其编译成Golang文件,然后为我自己的目的修改它:

代码语言:javascript
复制
$ protoc --go_out=./gopb/ --go_opt=paths=source_relative *.proto

一旦创建了测试文件,我就可以删除它或将其保存为记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72299578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档