gpt4 book ai didi

rust - 如何使用字节数组键制作 BTreeMap?

转载 作者:行者123 更新时间:2023-11-29 08:01:10 30 4
gpt4 key购买 nike

刚开始(尝试)学习 Rust。如何使用“bytestrings”作为 std::collections::BTreeMap 中的键?

似乎我不能使用 [u8],因为该类型需要固定大小。

使用向量,例如

BTreeMap<Vec<u8>, MyType>

...看起来很浪费。

我可以尝试将所有字节串连接到一个 Vec 中并将其切片用作 BTree 键,但是有更好的方法吗?

最佳答案

use std::collections::BTreeMap;

fn main() {
let key1 = b"1234";
let key2 = b"5678";

let mut map = BTreeMap::new();

map.insert(key1, true);
map.insert(key2, false);

println!("{}", map);
}

如您所见,[u8] 是一种没有任何大小的类型,这意味着您实际上无法存储其中一个。相反,您需要存储一个“u8 片段”,写为 &[u8],作为键。在此示例中,我刚刚创建了一些一次性切片,但您的切片可能来自某个拥有对象。

关于rust - 如何使用字节数组键制作 BTreeMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27787516/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com