Avatar ·

Como obter uma slice de Vec<T> em Rust: guia completo

Olá a todos! Comecei a estudar Rust e me deparei com um problema ao trabalhar com vetores. Eu tenho um `Vec` e quero obter um subconjunto de seus elementos — ou seja, uma slice. Por exemplo, estou escrevendo um programa para processamento de dados, onde tenho um vetor de números, e preciso trabalhar apenas com os três primeiros elementos ou com um intervalo de 2 a 5. Tentei diferentes abordagens, mas o compilador está dando erros. Aqui está meu código: ```rust fn main() { let numbers = vec![10, 20, 30, 40, 50, 60]; // Quero obter uma slice com índices 1..3 (20, 30, 40) let slice = numbers[1..4]; // Erro! println!("{:?}", slice); } ``` O compilador diz algo sobre os traits `Index` e `Range` — não entendo bem o que isso significa. Também ouvi dizer que há diferença entre `&[T]` e `Vec`, mas como convertê-los corretamente?