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