我正在查看
Vec<T>
的代码,以了解它如何实现 iter()
,因为我想为我的结构体实现迭代器。pub struct Column<T> {
name: String,
vec: Vec<T>,
...
}
我的目标不是暴露字段并提供迭代器来对列进行循环、最大值、最小值、求和、平均值等操作。
fn test() {
let col: Column<f32> = ...;
let max = col.iter().max();
}
我想了解一下 Vec<T>
的迭代方式。我发现 iter()
在 SliceExt
中被定义,但它只为 [T]
实现了,而不是 Vec<T>
,所以我不知道如何从 Vec<T>
调用 iter()
?