Avatar ·

Como concatenar corretamente dois vetores (Vec) em Rust? Melhores formas de concatenação

Olá a todos! Comecei a estudar Rust recentemente e me deparei com a tarefa de concatenar dois vetores. Suponha que eu tenha dois vetores de números: `vec1` e `vec2`. Preciso obter um terceiro vetor que contenha todos os elementos do primeiro e depois todos do segundo. Em Python, eu simplesmente escreveria `vec1 + vec2`, mas em Rust isso não funciona. Tentei algumas formas, mas não tenho certeza de qual é a correta e eficiente. Aqui está meu código: ```rust let mut vec1 = vec![1, 2, 3]; let vec2 = vec![4, 5, 6]; // Tentativa 1: soma simples (não compila) // let result = vec1 + vec2; // Tentativa 2: usando extend vec1.extend(vec2); println!("{:?}", vec1); // Obtive [1, 2, 3, 4, 5, 6], mas vec1 foi modificado // Tentativa 3: usando loop let mut result = Vec::new(); for item in &vec1 { result.push(*item); } for item in &vec2 { result.push(*item); } ``` Problemas: 1. `extend` toma posse e modifica o vetor original, o que nem sempre é conveniente. 2. O loop parece verboso e provavelmente não é o