我有一个Vec<(String, i64)>
,需要遍历其中的String
并将其移动,然后再遍历其中的i64
。
但是,如果我移动了String
,那么就必须再次将i64
存储到另一个Vec
中:
let l: Vec<_> = l
.into_iter()
.map(|(string, int)| {
drop(string);
int
})
.collect();
for i in l {
process(i);
}
如何在不产生额外性能开销的情况下分别迭代字符串和i64?
目前我所能想到的唯一解决方案是将字符串和i64分别存储。
Vec<(s, int)>
。 - Netwaveunzip()
函数。 - Chayim Friedman