thrift-idl
1.基本类型
- bool:布尔值(true or false),一个字节
- byte:有符号字节
- i16:16位有符号整型
- i32:32位有符号整型
- i64:64位有符号整型
- double:64位浮点型
- string:encoding agnostic text or binary string
thrift不支持无符号整型
2.特殊类型
- binary:Blob(byte arrau) a sequence of unencoded bytes
这是string类型的一种变形,主要是为java使用
3.struct
thrift中的struct是定义为一种对象,和面向对象语言的class差不多,但是struct有一下约束:
- struct不能继承,但是可以嵌套,不能嵌套自己
- 其他成员都是有明确类型
- 成员是被正整数编号过的,其中编号不能重复。这是为了在传输过程中编码的使用
- 成员分隔符可以是逗号(,)或者是分号(?,而且可以混用。在使用中一般只使用一种
- 字段会有optional、required,也可以不指定。optional表示可选字段,如果不填充则不序列化;required是必填字段,如果不填充则报错,一定会序列化;不指定也表示可选字段,但是会序列化
- 每个字段可以设