我可以做以下事情:
fn main() {
let vec = vec!["first", "last"];
println!("{}", vec.join(", "));
}
它给出了这个输出:
first, last
如果我尝试使用 join
对于 map 类型,它失败了:
error[E0599]: no method named
join
found for typestd::collections::HashSet<&str>
in the current scope
最佳答案
更高效,您可以use itertools加入迭代器而不先将其收集到 Vec
中:
extern crate itertools;
use std::collections::HashSet;
use itertools::Itertools;
fn main() {
let hash_set: HashSet<_> = ["first", "last"].iter().collect();
// Either of
println!("{}", hash_set.iter().join(", "));
println!("{}", itertools::join(&hash_set, ", "));
}
关于rust - 如何使用分隔符将 HashSet 的元素连接到字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47578011/