Avatar ·

如何在Rust的match中将String与字符串字面量进行比较?

各位同仁,大家好! 我最近开始学习Rust,在使用`match`结构处理字符串时遇到了问题。我有一个`String`类型的变量,想将其与几个字符串字面量进行比较。以下是我的代码: ```rust fn main() { let user_input = String::from("start"); match user_input { "start" => println!("启动..."), "stop" => println!("停止..."), "help" => println!("帮助..."), _ => println!("未知命令"), } } ``` 编译器报错:`expected struct String, found &str`。我明白`String`和`&str`在Rust中是不同类型,但如何正确地进行模式匹配呢?我尝试过通过`as_str()`将`user_input`转换为`&str`,但这样又要求字面量也必须是`String`。这似乎成了一个死循环。 请问如何优雅地解决这个问题?我希望代码既高效又符合Rust的惯用写法。提前感谢!