
Iterators & Closures
Iterator trait, iterator adapters (map, filter, fold), ไวยากรณ์ closure, move closures, Fn traits
1ชนิดข้อมูลต้องimplement trait ใดจึงจะใช้ในลูป for ใน Rust ได้?
ชนิดข้อมูลต้องimplement trait ใดจึงจะใช้ในลูป for ใน Rust ได้?
คำตอบ
Trait IntoIterator ช่วยให้ชนิดข้อมูลถูกแปลงเป็น iterator ได้ ลูป for จะเรียก into_iter() บนนิพจน์โดยอัตโนมัติ ชนิดข้อมูลอย่าง Vec, array และ range implement trait นี้โดยปริยาย ทำให้สามารถวนซ้ำผ่านพวกมันได้โดยตรงด้วย for
2เมธอดใดของ trait Iterator ที่ต้องถูกimplement?
เมธอดใดของ trait Iterator ที่ต้องถูกimplement?
คำตอบ
เมธอด next() เป็นเมธอดเดียวที่จำเป็นต้องมีของ trait Iterator มันคืนค่า Option<Self::Item> ซึ่งเป็น Some(item) ถ้ายังมีองค์ประกอบเหลืออยู่ หรือ None เมื่อการวนซ้ำเสร็จสิ้น เมธอดอื่นทั้งหมดเช่น map, filter หรือ collect มี implementation เริ่มต้นที่อิงกับ next()
3ความแตกต่างระหว่าง iter(), iter_mut() และ into_iter() บน Vec<T> คืออะไร?
ความแตกต่างระหว่าง iter(), iter_mut() และ into_iter() บน Vec<T> คืออะไร?
คำตอบ
iter() คืน iterator บน reference แบบ immutable (&T), iter_mut() บน reference แบบ mutable (&mut T), และ into_iter() ใช้ Vec ไปและคืนองค์ประกอบตามค่า (T) การเลือกขึ้นอยู่กับว่าต้องการอ่าน แก้ไข หรือรับ ownership ขององค์ประกอบ
lazy iterator ใน Rust คืออะไรและทำไมจึงสำคัญ?
ไวยากรณ์ที่ถูกต้องในการนิยาม closure ที่รับพารามิเตอร์ i32 สองตัวและคืนผลรวมของพวกมันคืออะไร?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Generics
Lifetimes
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
มาโคร
Serde และการ Serialization
Unsafe Rust
Trait ขั้นสูง
Lifetime ขั้นสูง
Type System
Tokio & Async I/O
การเพิ่มประสิทธิภาพ
Memory Management
Web Frameworks
Database Integration
Design Pattern ของ Rust
เชี่ยวชาญ Rust สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี