Thrift语法简介与实例(c++)

最近工作中使用了thrift,作为小白,摘录和总结了一些thrift基本语法及使用实例,仅做记录

1 类型

Thrift类型系统包括预定义基本类型,用户自定义结构体,容器类型,异常和服务定义

1.1 基本类型

bool: 布尔类型,占一个字节

byte: 有符号字节   //对应C++  char

i16:16位有符号整型   //对应C++  short

i32:32位有符号整型   //对应C++  int

i64:64位有符号整型   //对应C++  long

double:64位浮点数   //对应C++  double

string:未知编码或者二进制的字符串   //对应C++  string

注意:thrift不支持无符号整形,因为很多目标语言不存在无符号整形(比如java)

1.2 容器

List<t1>:一系列t1类型的元素组成的有序列表,元素可以重复,对应c++中vector

Set<t1>:一些t1类型的元素组成的无序集合,元素唯一不重复,对应c++中set

Map<t1,t2>:key/value对,key唯一,对应c++中map

容器中的元素类型可以是除service以外的任何合法的thrift类型,包括结构体和异常类型

1.3 枚举

规定:

1.编译器默认从0开始赋值

2.可以赋予某个常量某个整数 

3.允许常量是十六进制整数 

4.末尾无分号或逗号

5.给常量赋缺省值时,使用常量的全称

6.Thrift不支持枚举类嵌套,枚举常量必须是32位的正整数

例:

enum MyEnum { 
PEAR,       
APPLE = 3, 
BANANA = 0xa,  
MANGO
}  

1.4 结构体

1.struct不能继承,但是可以嵌套,不能嵌套自己。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值