Rust语义简化

27 阅读1分钟

Rust语义简化

1.解决一下表达绕弯的问题。

2.提出一些抽象概念。

3.解决代码重复问题。

4.倾向使用函数式。

1.高维转低维

一次克隆一次复制

let flatten_value=res.iter()
    .flatten().cloned()
    .collect::<Vec<Vec<f32>>>()
    .iter()
    .flatten().copied()
    .collect::<Vec<f32>>();

一次复制

let flatten_value: Vec<f32> = res
    .iter()
    .flat_map(|v1| v1.iter().flat_map(|v2| v2.iter().copied()))
    .collect();