
Cargo & Ecosystem
คำสั่ง Cargo, dependency, feature, build script, workspace, crates.io, เอกสาร
1คำสั่ง Cargo ใดที่คอมไพล์โปรเจกต์โดยไม่สร้างไฟล์ executable สุดท้าย?
คำสั่ง Cargo ใดที่คอมไพล์โปรเจกต์โดยไม่สร้างไฟล์ executable สุดท้าย?
คำตอบ
คำสั่ง cargo check คอมไพล์โค้ดเพื่อตรวจสอบข้อผิดพลาดโดยไม่สร้างไบนารีสุดท้าย คำสั่งนี้เร็วกว่า cargo build มากเพราะข้ามขั้นตอนการสร้างโค้ดเครื่อง เหมาะอย่างยิ่งระหว่างการพัฒนาเพื่อตรวจสอบอย่างรวดเร็วว่าโค้ดคอมไพล์ได้อย่างถูกต้อง
2จะระบุ dependency ที่มีเวอร์ชันขั้นต่ำ 1.2.0 แต่ต่ำกว่า 2.0.0 ใน Cargo.toml ได้อย่างไร?
จะระบุ dependency ที่มีเวอร์ชันขั้นต่ำ 1.2.0 แต่ต่ำกว่า 2.0.0 ใน Cargo.toml ได้อย่างไร?
คำตอบ
ไวยากรณ์ serde = "1.2" ใช้การกำหนดเวอร์ชันเชิงความหมายเริ่มต้นของ Cargo ซึ่งหมายความว่า Cargo จะยอมรับเวอร์ชันใด ๆ ที่เข้ากันได้กับ 1.2.0 นั่นคือ >= 1.2.0 และ < 2.0.0 สัญกรณ์นี้เทียบเท่ากับ serde = "^1.2" และเป็นวิธีที่เป็นสำนวนในการระบุ dependency ใน Rust
3ไฟล์ Cargo.lock มีบทบาทอย่างไรในโปรเจกต์ Rust?
ไฟล์ Cargo.lock มีบทบาทอย่างไรในโปรเจกต์ Rust?
คำตอบ
ไฟล์ Cargo.lock บันทึกเวอร์ชันที่แน่นอนของ dependency ทั้งหมดที่ใช้ระหว่างการคอมไพล์สำเร็จครั้งล่าสุด สิ่งนี้รับประกัน build ที่ทำซ้ำได้โดยใช้เวอร์ชันเดียวกันทุกประการบนเครื่องที่ต่างกัน สำหรับไลบรารี ไฟล์นี้มักถูกละเว้นใน git แต่สำหรับไบนารีและแอปพลิเคชัน ควรเก็บไว้ในการควบคุมเวอร์ชัน
จะกำหนด feature ที่เป็นทางเลือกใน Cargo.toml ได้อย่างไร?
ไฟล์ build.rs ที่อยู่ในรากของโปรเจกต์ Cargo มีไว้เพื่ออะไร?
+15 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ Rust อื่นๆ
พื้นฐาน Rust
Ownership & Borrowing
Structs & Enums
การจัดการข้อผิดพลาด
คอลเลกชัน
โมดูลและแพ็กเกจ
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
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 และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี