Cómo convertir String a &'static str en Rust: guía completa
¡Hola a todos! Soy nuevo en Rust y me encontré con un problema al trabajar con cadenas. Necesito pasar el owner de un `String` a una función que espera `&'static str`. Aquí hay un ejemplo de código que no compila:
```rust
fn process_static(s: &'static str) {
println!("Static string: {}", s);
}
fn main() {
let my_string = String::from("Hello, world!");
// Error: expected &'static str, found String
process_static(&my_string);
}
```
El compilador dice: "`my_string` does not live long enough". Entiendo que `&'static str` es una cadena que vive durante toda la ejecución del programa, mientras que `String` es una cadena dinámica que puede ser liberada. Pero, ¿cómo puedo pasar el contenido de un `String` a una función que requiere `&'static str`?
He intentado usar `as_str()`, `to_string()`, incluso intenté hacer `Box::leak`, pero no estoy seguro de que sea correcto. ¿Quizás hay alguna forma sencilla? ¿O necesito cambiar la arquitectura?
Por favor, indíquenme cómo resolver esto correctamente.
No answers yet.
Inicia sesión para dejar una respuesta