在 Rust 中存储连续数据?
作者都帮你整理好了:
使用 Rust 中的数组 [T; N].
Slice &[T] or &mut [T], 可以方便的 split....长度和内容都可以变化,这可能是我们最常用的方式.
smallvec, 第三方 crate, 当元素较少时可以存储在 stack 上.
arrayvec, 第三方 crate, 如名字所述, 底层是用 Array...来存储的,因此长度不能动态增长....但是数据可以存储在 data segment, stack 或 heap上.
tinyvec, 第三方 crete, 可以100%替代 smallvec和arrayvec的一个crate....,提供了 Bytes,可以非常方便高效的存储和操作连续的内存.不过他只能存储 u8,常用于网络.