MST
星途 面试题库

面试题:Rust中如何实现一个简单的自定义迭代器遵循Iterator trait

请编写一个Rust结构体`Counter`,它实现`Iterator` trait,每次迭代返回从0开始递增的整数,直到达到结构体中定义的最大值。结构体需要有一个字段表示最大值。请实现`next`方法,使其符合迭代器的行为。
32.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
struct Counter {
    current: i32,
    max: i32,
}

impl Iterator for Counter {
    type Item = i32;

    fn next(&mut self) -> Option<Self::Item> {
        if self.current <= self.max {
            let result = Some(self.current);
            self.current += 1;
            result
        } else {
            None
        }
    }
}