Iterator - วนซ้ำข้อมูล
Iterator คือวิธีวนซ้ำข้อมูลแบบ lazy ไม่คำนวณจนกว่าจะใช้จริง ประหยัดหน่วยความจำ!
Iterator คืออะไร?
Section titled “Iterator คืออะไร?”Iterator คือ trait ที่มี method หลัก next() ซึ่ง return Option<Item>:
Some(item)- ยังมีข้อมูลNone- หมดแล้ว
fn main() { // ============================================ // Iterator trait definition // ============================================
// trait Iterator { // type Item; // fn next(&mut self) -> Option<Self::Item>; // }
// ============================================ // การใช้ next() โดยตรง // ============================================
let numbers = vec![1, 2, 3]; let mut iter = numbers.iter();
println!("next(): {:?}", iter.next()); // Some(&1) println!("next(): {:?}", iter.next()); // Some(&2) println!("next(): {:?}", iter.next()); // Some(&3) println!("next(): {:?}", iter.next()); // None
// ============================================ // for loop ใช้ Iterator อัตโนมัติ // ============================================
for n in numbers.iter() { print!("{} ", n); } println!();}เข้าสู่ระบบเพื่อดูเนื้อหาเต็ม
ยืนยันตัวตนด้วยบัญชี Google เพื่อปลดล็อกบทความทั้งหมด
Login with Google