Pular para conteúdo

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

  1. Transferência de Posse: Crie uma função que receba a posse de uma String, modifique-a e a retorne.
  2. 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.
  3. Análise de Erro: Comente no código por que um simples let s2 = s1 impediria o uso de s1 posteriormente.

🚀 Guia de Execução

  1. 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::from para alocação na Heap.
  • [ ] O uso de .clone() é justificado e funcional.
  • [ ] A posse é transferida e retornada corretamente via funções.