Skip to content
เข้าสู่ระบบ

Iterator Patterns

Patterns สำหรับ iterator usage

fn main() {
let numbers = vec![1, 2, 3, 4, 5];
// for loop (uses IntoIterator)
for n in &numbers {
print!("{} ", n);
}
println!();
// Explicit iterator
let mut iter = numbers.iter();
while let Some(n) = iter.next() {
print!("{} ", n);
}
println!();
// Three ways to iterate
let vec = vec![1, 2, 3];
for v in &vec { /* &T */ } // Borrow
for v in &mut vec.clone() { /* &mut T */ } // Mut borrow
for v in vec.clone() { /* T */ } // Take ownership
// iter(), iter_mut(), into_iter()
let v = vec![1, 2, 3];
let _ = v.iter(); // &i32
let _ = v.clone().into_iter(); // i32 (owned)
let mut v = v;
let _ = v.iter_mut(); // &mut i32
}

เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม

ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด