例如,这是 protobuf 模式代码,我想通过 flatbuffer 模式重写它们?代码是什么样的?
message Xx {
required uint32 id = 1;
optional string name = 2;
message Yy {
optional string name = 1;
}
repeated Yy y = 3;
}
谢谢我的兄弟。
最佳答案
FlatBuffers 内置了 .proto 翻译,试试 flatc --proto myschema.proto
,你会得到对应的 .fbs 文件。
但是,在您的情况下,您有嵌套的消息定义,FlatBuffers 不支持。所以首先改变你的 .proto 这样的 message Yy
被移到 message Xx
之外。还要给它一个包名。你会得到:
table Yy {
name:string;
}
table Xx {
id:uint (required);
name:string;
y:[Yy];
}
编辑:FlatBuffers 现在甚至支持翻译嵌套的 .proto 定义。
关于protocol-buffers - 如何使用 flatbuffer 模式重写 protobuf 方案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32759826/