Làm thế nào để so khớp một String với các string literals trong Rust?
Làm thế nào để so khớp một String với các string literals trong Rust?
Trong Rust, để so khớp một đối tượng String
với các string literals, bạn cần sử dụng phương thức .as_str()
để chuyển đổi String
thành một slice &str
trước khi thực hiện so khớp. Điều này là do các string literals trong Rust được biểu diễn dưới dạng &str
, không phải là String
. Dưới đây là một ví dụ minh họa cách thực hiện:
fn main() {
let mut difficulty = String::new();
// Giả sử difficulty được gán giá trị từ người dùng hoặc một nguồn khác
difficulty = "Medium".to_string();
match difficulty.as_str() {
"Easy" => println!("Bạn đã chọn chế độ Dễ."),
"Medium" => println!("Bạn đã chọn chế độ Trung bình."),
"Hard" => println!("Bạn đã chọn chế độ Khó."),
_ => println!("Vui lòng nhập một chế độ hợp lệ."),
}
}
Trong ví dụ trên, difficulty
là một đối tượng String
. Để so khớp nó với các string literals, chúng ta sử dụng difficulty.as_str()
để chuyển đổi nó thành một slice &str
. Sau đó, chúng ta có thể sử dụng nó trong một biểu thức match
để so khớp với các string literals như "Easy", "Medium", và "Hard"[14].
Citations:
[1] https://doc.rust-lang.org/book/ch18-00-patterns.html
[2] https://www.tutorialspoint.com/rust/rust_string.htm
[3] https://doc.rust-lang.org/book/ch18-03-pattern-syntax.html
[4] https://www.progra...
junior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào