
Macro
Macro khai báo (macro_rules!), derive macro, attribute macro, macro thủ tục, vệ sinh macro
1Cú pháp nào được dùng để định nghĩa một macro khai báo trong Rust?
Cú pháp nào được dùng để định nghĩa một macro khai báo trong Rust?
Câu trả lời
Cú pháp macro_rules! được dùng để định nghĩa macro khai báo trong Rust. Hình thức metaprogramming này sử dụng pattern matching trên cú pháp Rust để biến đổi mã tại thời điểm biên dịch. Macro khai báo còn được gọi là "macros by example" vì chúng hoạt động bằng cách khớp các mẫu và tạo ra mã dựa trên những mẫu đó.
2Làm thế nào để gọi một macro trong Rust?
Làm thế nào để gọi một macro trong Rust?
Câu trả lời
Macro trong Rust được gọi với một dấu chấm than sau tên của chúng, theo sau là các đối số trong dấu ngoặc đơn, ngoặc vuông hoặc ngoặc nhọn. Quy ước này cho phép phân biệt trực quan các lệnh gọi macro với lệnh gọi hàm thông thường. Ví dụ, println!("Hello") hoặc vec![1, 2, 3] là các lệnh gọi macro.
3Dùng fragment specifier nào để bắt một biểu thức trong macro khai báo?
Dùng fragment specifier nào để bắt một biểu thức trong macro khai báo?
Câu trả lời
Fragment specifier $e:expr bắt một biểu thức Rust trong macro khai báo. Các fragment specifier xác định loại cú pháp mà macro có thể chấp nhận. Các specifier phổ biến khác bao gồm ident cho định danh, ty cho kiểu, tt cho token tree, và block cho khối mã.
Sự khác biệt chính giữa macro khai báo và macro thủ tục là gì?
Vệ sinh macro (macro hygiene) trong Rust là gì?
+17 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Rust khác
Cơ bản về Rust
Ownership & Borrowing
Structs & Enums
Xử lý lỗi
Collections
Modules & Packages
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Serde & Serialization
Unsafe Rust
Trait nâng cao
Lifetime Nâng Cao
Type System
Tokio & Async I/O
Tối ưu hóa Hiệu suất
Memory Management
Web Frameworks
Database Integration
Design Pattern trong Rust
Nắm vững Rust cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí