
Generics
ฟังก์ชัน generic, struct, enum, trait bounds, where clause, monomorphization
1ไวยากรณ์ที่ถูกต้องสำหรับการประกาศฟังก์ชัน generic ใน Rust คืออะไร?
ไวยากรณ์ที่ถูกต้องสำหรับการประกาศฟังก์ชัน generic ใน Rust คืออะไร?
คำตอบ
ใน Rust type parameter แบบ generic จะถูกประกาศโดยใช้ angle brackets หลังชื่อฟังก์ชัน ไวยากรณ์ fn name<T>(param: T) บ่งบอกว่า T เป็น type parameter ที่จะถูกกำหนดตอนใช้งาน จากนั้นคอมไพเลอร์จะสร้างโค้ดเฉพาะสำหรับแต่ละชนิดที่เป็นรูปธรรมที่ใช้เมื่อเรียกฟังก์ชัน
2จะประกาศ struct แบบ generic ที่มีฟิลด์ชนิด T ได้อย่างไร?
จะประกาศ struct แบบ generic ที่มีฟิลด์ชนิด T ได้อย่างไร?
คำตอบ
struct แบบ generic จะถูกประกาศด้วย type parameter ใน angle brackets หลังชื่อ struct ไวยากรณ์ struct Name<T> { field: T } ช่วยให้สร้างโครงสร้างที่นำกลับมาใช้ใหม่ได้กับชนิดที่แตกต่างกัน จากนั้นชนิด T สามารถใช้ในฟิลด์และเมธอดที่เกี่ยวข้องกับ struct นี้ได้
3monomorphization ใน Rust คืออะไร?
monomorphization ใน Rust คืออะไร?
คำตอบ
monomorphization คือกระบวนการที่คอมไพเลอร์ Rust สร้างโค้ดเครื่องเฉพาะสำหรับแต่ละชนิดที่เป็นรูปธรรมที่ใช้กับ generic ตัวอย่างเช่น หากฟังก์ชัน generic ถูกเรียกด้วย i32 และ String คอมไพเลอร์จะสร้างฟังก์ชันนั้นสองเวอร์ชันที่แตกต่างกัน สิ่งนี้รับประกันประสิทธิภาพที่ดีที่สุดโดยไม่มี overhead ขณะรันไทม์
จะเพิ่ม trait bound ให้กับพารามิเตอร์ generic T ได้อย่างไร?
ความแตกต่างระหว่างไวยากรณ์ impl<T> Struct<T> และ impl Struct<i32> คืออะไร?
+17 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Lifetimes
Iterators & Closures
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 และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี