Thrift基本數據類型

要編寫Thrift定義文件,肯定要熟悉Thrift常見的數據類型:

1.基本類型(括號內爲對應的Java類型):
bool(boolean): 布爾類型(TRUE or FALSE)
byte(byte): 8位帶符號整數
i16(short): 16位帶符號整數
i32(int): 32位帶符號整數
i64(long): 64位帶符號整數
double(double): 64位浮點數
string(String): 採用UTF-8編碼的字符串

2.特殊類型(括號內爲對應的Java類型):
binary(ByteBuffer):未經過編碼的字節流

3.Structs(結構):
struct定義了一個很普通的OOP對象,但是沒有繼承特性。

struct UserProfile {
1: i32 uid,
2: string name,
3: string blurb
}

如果變量有默認值,可以直接寫在定義文件裏:

struct UserProfile {
1: i32 uid = 1,
2: string name = "User1",
3: string blurb
}

4.容器,除了上面提到的基本數據類型,Thrift還支持以下容器類型:
list(java.util.ArrayList):
set(java.util.HashSet):
map(java.util.HashMap):

用法如下:

struct Node {
1: i32 id,
2: string name,
3: list<i32> subNodeList,
4: map<i32,string> subNodeMap,
5: set<i32> subNodeSet
}

包含定義的其他Object:

struct SubNode {
1: i32 uid,
2: string name,
3: i32 pid
}

struct Node {
1: i32 uid,
2: string name,
3: list<subNode> subNodes
}

5.Services服務,也就是對外展現的接口:

service UserStorage {
void store(1: UserProfile user),
UserProfile retrieve(1: i32 uid)
}

0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章