let mut map: HashMap<&str, u32> = HashMap::new();
for (i, c) in text.chars().enumerate() {
if map.contains_key(&c) {
// Do something
}
}属性std::borrow::Borrow<char>不是为&str实现的
我需要解释一下这个错误,以及如何修正它。我正在循环遍历文本中的每个字符,并将尚未在散列映射中的字符插入到散列图中。但是,正如上面所述,我不断地得到错误。
发布于 2020-02-02 10:56:58
chars是一个Iterator,它的Item = char,所以您的HashMap<&str, u32>与它不兼容。
&str是字符串切片(本质上是字符序列),而char是单个字符。
你必须决定:
map真的应该从&str映射到u32吗?或者可能来自char?或者可能从&char&str,您必须将chars的元素转换为&str.。
https://stackoverflow.com/questions/60025328
复制相似问题