Avatar ·

Como converter String em &'static str em Rust: guia completo

Olá a todos! Sou novo em Rust e encontrei um problema ao trabalhar com strings. Preciso passar o proprietário de `String` para uma função que espera `&'static str`. Aqui está um exemplo de código que não compila:\n\n```rust\nfn process_static(s: &'static str) {\n println!("Static string: {}", s);\n}\n\nfn main() {\n let my_string = String::from("Hello, world!");\n // Erro: expected &'static str, found String\n process_static(&my_string);\n}\n```\n\nO compilador diz: "`my_string` does not live long enough". Eu entendo que `&'static str` é uma string que vive durante toda a execução do programa, enquanto `String` é uma string dinâmica que pode ser liberada. Mas como posso passar o conteúdo de `String` para uma função que requer `&'static str`?\n\nTentei usar `as_str()`, `to_s