我有一个问题要问。我们看一下下面的代码:
use std::collection::BTreeMap;
fn main() {
let mut hm: BTreeMap<String, String> = BTreeMap::new();
hm.insert("asdf".to_owned(), "zxcv".to_owned());
println!("{:?}", hm.get("asdf"));
}
Run Code Online (Sandbox Code Playgroud)
因此,尽管BTreeMap
keep String
s 它接受其他可以与键类型进行比较的类型。
但这不仅仅是 的情况Vec<T>
。因此,下面的代码将是一个错误:
fn main() {
let v: Vec<String> = vec!["hello".to_owned()];
println!("{:?}", v.binary_search("hello"));
}
Run Code Online (Sandbox Code Playgroud)
该代码片段将无法编译,因为binary_search
调用了对所提供值的完全相同类型的引用。我有点困惑为什么。
归档时间: |
|
查看次数: |
83 次 |
最近记录: |