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!
No answers yet.
Inicia sesión para dejar una respuesta