Rust

Pattern Matching

Biểu thức match, if let, while let, destructuring, guards, @ bindings, tính đầy đủ (exhaustiveness)

18 câu hỏi phỏng vấn·
Mid-Level
1

Cú pháp đúng cho một biểu thức match cơ bản trong Rust là gì?

Câu trả lời

Biểu thức match trong Rust dùng từ khóa match theo sau là giá trị cần phân tích, rồi đến dấu ngoặc nhọn chứa các nhánh (pattern) khác nhau ngăn cách bởi dấu phẩy. Mỗi nhánh dùng pattern theo sau là => và đoạn mã cần thực thi. Cú pháp này cho phép trình biên dịch kiểm tra rằng tất cả các trường hợp có thể đều được xử lý.

2

Nên dùng pattern nào để bắt tất cả các giá trị còn lại trong một match?

Câu trả lời

Pattern _ (underscore) là pattern catch-all trong Rust. Nó khớp với bất kỳ giá trị nào mà không gán nó vào một biến. Ngoài ra, dùng tên biến (như other hoặc n) sẽ bắt giá trị đó. _ được ưu tiên khi giá trị không được sử dụng vì nó thể hiện rõ ý định.

3

if let hoạt động như thế nào so với match?

Câu trả lời

if let là cú pháp viết tắt cho một match chỉ xử lý một pattern và bỏ qua các pattern còn lại. Thay vì viết một match đầy đủ với arm catch-all _, if let cho phép trích xuất một giá trị một cách gọn gàng khi chỉ một trường hợp cụ thể là quan trọng. Nó đặc biệt hữu ích với Option và Result.

4

Exhaustiveness là gì trong ngữ cảnh pattern matching của Rust?

5

Làm thế nào để phân rã một tuple trong pattern match?

+15 câu hỏi phỏng vấn

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í