在C++中我可以多次获取迭代器的当前值
int main() {
std::string s = "abcd";
auto iter = s.begin();
std::cout << *iter << std::endl; // a
std::cout << *iter << std::endl; // a
}
我可以在 Rust 中做同样的事情吗? 是否可以在不切换到下一个位置的情况下获取迭代器值:
fn main() {
let mut s = String::from("abcd");
let mut iter = s.chars();
println!("{:?}", iter.next()); // get Some(a) and switch to the next position
}
我的解决方案:
fn main() {
let mut s = String::from("abcd");
let mut iter = s.chars().peekable();
println!("{:?}", iter.peek()); // get Some(a)
println!("{:?}", iter.peek()); // get Some(a)
}