2 个版本
使用旧的 Rust 2015
0.1.1 | 2018 年 4 月 25 日 |
---|---|
0.1.0 | 2018 年 4 月 25 日 |
#11 在 #foundation-db
36KB
872 行
二进制元组
这是一个用于处理有序二进制元组的库,旨在与 FoundationDB 客户端库捆绑的元组实现兼容。
该库允许使用以下数据类型
- 字符串
- 二进制数组
- 数字 (
i64
,f32
,f64
) - 布尔值
- UUIDs
- 嵌套元组(读取支持 - 目前尚无创建 API 支持)
API
创建元组最简单的方法是使用公开的 tuple!
宏
#[macro_use]
extern crate binary_tuples;
let user_id = 1;
let value = tuple!("users", user_id, "posts");
// Returns as a byte array
let bytes = value.into_bytes();
可以将元组反序列化为一组元组段
use binary_tuples::{Tuple, segment::Segment};
let tuple = Tuple::from_bytes(...)
.as_segments()
.unwrap();
match tuple[0] {
Segment::String(value) => println!("{}", value),
_ => println!("Other data type")
}
元组可以作为其他元组的高效前缀重复使用
let users_tuple = tuple!("users", user_id, "posts");
let post_1 = tuple!(users_tuple, post_id_1);
let post_2 = tuple!(users_tuple, post_id_2);
依赖项
~1MB
~12K SLoC