3个版本
0.1.2 | 2023年7月9日 |
---|---|
0.1.1 | 2023年7月9日 |
0.1.0 | 2023年7月9日 |
#1209 in 过程宏
3KB
描述
将宏Serde
添加到bincode,使其更容易使用。
安装
cargo add bincode_macro
用法
use bincode::{error, Decode, Encode};
use bincode_macro::Serde;
#[derive(Serde, Encode, Decode, PartialEq, Debug)]
pub struct Entity {
pub x: u16,
pub y: u32,
}
fn main() {
let mut entity = Entity { x: 1, y: 4 };
let encoded: Vec<u8> = entity.pack().unwrap();
println!("{:?} {}", encoded, encoded.len());
let (decoded, len): (Entity, usize) = entity.unpack(&encoded).unwrap();
println!("{:?}, {}\n", decoded, len);
}
依赖项
~285–740KB
~18K SLoC