面试题答案
一键面试// 定义结构体
struct MyIter {
data: Vec<i32>,
index: usize,
}
// 实现Iterator特型
impl Iterator for MyIter {
type Item = i32;
fn next(&mut self) -> Option<Self::Item> {
if self.index < self.data.len() {
let item = self.data[self.index];
self.index += 1;
Some(item)
} else {
None
}
}
}
fn main() {
// 创建结构体实例并作为迭代器使用
let my_iter = MyIter {
data: vec![1, 2, 3, 4, 5],
index: 0,
};
for num in my_iter {
println!("{}", num);
}
}