Avatar ·

Cómo comparar String con literales de cadena en match en Rust

¡Saludos, colegas! Hace poco empecé a estudiar Rust y me encontré con un problema al usar la construcción `match` con cadenas. Tengo una variable de tipo `String` y quiero compararla con varios literales de cadena. Aquí está mi código: ```rust fn main() { let user_input = String::from("start"); match user_input { "start" => println!("Inicio..."), "stop" => println!("Parada..."), "help" => println!("Ayuda..."), _ => println!("Comando desconocido"), } } ``` El compilador da un error: `expected struct String, found &str`. Entiendo que `String` y `&str` son tipos diferentes en Rust, pero ¿cómo organizar correctamente la coincidencia? Intenté convertir `user_input` a `&str` usando `as_str()`, pero entonces se queja de que los literales también deberían ser `String`. Es un círculo vicioso. Por favor, indíquenme cómo resolver esta tarea de manera adecuada. Necesito que el código sea eficiente e idiomático para Rust. Gracias de antemano.