我可以执行以下操作:
fn main() {
let vec = vec!["first", "last"];
println!("{}", vec.join(", "));
}
它给出以下输出:
首先,最后
如果我尝试使用join
地图类型,它将失败:
错误[E0599]:在当前作用域中
join
找不到为类型命名的方法std::collections::HashSet<&str>
更有效地,您可以使用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, ", "));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句