【Apache Thrift】Thrift的使用和编译(二)

http://www.jianshu.com/p/0f4113d6ec4b
摘要由CSDN通过智能技术生成

一、Thrift的使用

   1.1基本类型

  thrift不支持无符号类型,因为很多编程语言不存在无符号类型,比如Java

  • byte: 有符号字节
  • i16: 16位有符号整数
  • i32: 32位有符号整数
  • i64: 64位有符号整数
  • double: 64位浮点数
  • string: 字符串

   1.2容器类型

  集合中的元素可以是除了service之外的任何类型,包括exception。

  • list<T>: 一系列由T类型的数据组成的有序列表,元素可以重复
  • set<T>: 一系列由T类型的数据组成的无序集合,元素不可重复
  • map<K, V>: 一个字典结构,key为K类型,value为V类型,相当于Java中的HashMap<K,V>

   1.3 结构体(struct)

  就像C语言一样,thrift也支持struct类型,目的就是将一些数据聚合在一起,方便传输管理。struct的定义形式如下:
[objc]  view plain   copy
  1. struct NPC  
  2. {  
  3.     1:i32 id;  
  4.     2:string name;   
  5. }  

   1.4 枚举

  枚举的定义形式和Java的Enum定义差不多,例如:

[java]  view plain   copy
  1. enum Action {  
  2.     Idle,  
  3.       Attack,  
  4.     Run   
  5. }  

   1.5 异常(exception)

  thrift支持自定义exception,规则和struct一样,如下:
[objc]  view plain   copy
  1. exception RequestException {  
  2.     1: i32 code;  
  3.     2: string reason;  
  4. }  

   1.6 服务(service)

   thrift定义服务相当于Java中创建Interface一样,创建的service经过代码生成命令之后就会生成客户端和服务端的框架代码。定义形式如下:
[java]  view plain   copy
  1. service HelloWordService {  
  2.      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值