Avatar ·

Cómo hacer match de un String con literales de cadena en Rust usando match?

¡Hola a todos! Acabo de empezar a aprender Rust y me encontré con un problema al usar match para comparar un String. Tengo una variable de tipo String y quiero verificar si es igual a algún literal de cadena. Por ejemplo, estoy escribiendo un parser de comandos simple: ```rust fn main() { let command = String::from("start"); match command { "start" => println!("¡Inicio!"), "stop" => println!("¡Parada!"), _ => println!("Comando desconocido"), } } ``` Pero el compilador da un error: ``` error[E0308]: mismatched types expected struct `String`, found `&str` ``` Entiendo que String y &str son tipos diferentes, pero ¿cómo escribir correctamente el match? He probado a usar as_str(), pero no estoy seguro de que sea la mejor manera. También he oído que se pueden convertir los literales a String, pero parece ineficiente. Por favor, indíquenme cómo hacer match de un String con literales de cadena en Rust correctamente. ¿Hay una forma idiomática o mejores prácticas? ¡Gracias!