Mini-Projeto: Manipulador de Strings Seguro 🧵
Neste projeto, você vai provar que entendeu o Ownership criando um programa que transfere e clona dados na memória.
📋 Requisitos
- Transferência de Posse: Crie uma função que receba a posse de uma
String, modifique-a e a retorne. - Clone Explícito: Demonstre o uso do
.clone()para manter a variável original válida após passar a cópia para outra função. - Análise de Erro: Comente no código por que um simples
let s2 = s1impediria o uso des1posteriormente.
🚀 Guia de Execução
- Implementação sugerida:
fn processar_texto(mut texto: String) -> String { texto.push_str(" [Processado]"); texto } fn main() { let original = String::from("Dados confidenciais"); // Clonamos para manter a 'original' válida let copia = original.clone(); let resultado = processar_texto(copia); println!("Original: {}", original); println!("Resultado: {}", resultado); }
✅ Critérios de Aceite
- [ ] O programa utiliza
String::frompara alocação na Heap. - [ ] O uso de
.clone()é justificado e funcional. - [ ] A posse é transferida e retornada corretamente via funções.