Flat Buffers - 表
概述
Flat Buffers 的最基本构建块是 table 属性。这相当于我们使用的语言中的 类,例如 Java、Python 等。
示例代码
以下是我们需要的语法,用于指示 Flat Buffers 我们将创建给定表的实例 −
namespace com.tutorialspoint.theater; table Theater { } root_type Theater;
我们将上述内容保存在"theater.fbs"中,并在探索其他数据结构时使用它。
解释
namespace com.tutorialspoint.theater;
此参数特定于 Java,即,将自动生成来自".fbs"文件的代码的包。类 Theater 将在com.tutorialpoint.theater包中创建。
接下来,我们创建一个表,Theater −
table Theater
这只不过是将要创建/重新创建的对象的基类的类名。请注意,它在当前形状下是无用的,因为它没有任何其他属性。但随着我们的前进,我们将添加更多属性。
使用多个表属性
单个 fbs 文件也可以有多个表。例如,如果我们愿意,我们可以在同一个文件中添加 Visitor 表。Flat Buffers 将确保 Theater 类使用 root_type 属性保持主类。例如 −
namespace com.tutorialspoint.theater; table Theater { } table Visitor { } root_type Theater;
从 fbs 文件创建 Java 类
要使用 Flat Buffers,我们现在必须使用 flat 二进制文件从此".fbs"文件创建所需的类。让我们看看如何做到这一点 −
flat --java theater.fbs
使用从 fbs 文件创建的 Java 类
好了,就是这样!上述命令应在当前目录中创建所需的文件,现在我们可以在 Java 代码中使用它们 −
// 使用默认缓冲区创建 FlatBuffer Builder FlatBufferBuilder builder = new FlatBufferBuilder(1024); // 使用 startTheater() 方法创建 Theater FlatBuffers Theater.startTheater(builder);
在此阶段,它不是很有用,因为我们没有向表中添加任何属性。让我们在Flat Buffers - string一章中查看字符串时这样做。