Avatar ·

Como obter uma slice de Vec<T> em Rust?

Olá a todos! Estou começando a aprender Rust e encontrei um problema ao trabalhar com vetores. Tenho um `Vec` e preciso passar parte dos seus dados para uma função que aceita uma slice `&[u32]`. Tentei fazer isso de várias maneiras, mas sempre recebo erros de compilação. Aqui está um exemplo do meu código: ```rust fn main() { let numbers = vec![10, 20, 30, 40, 50]; // Quero obter uma slice dos três primeiros elementos let slice = &numbers[0..3]; // Função que aceita uma slice process_slice(slice); } fn process_slice(data: &[u32]) { for &item in data { println!("{}", item); } } ``` Este código funciona, mas não entendo alguns detalhes. Por exemplo: 1. Qual é a diferença entre `&vec[..]` e `vec.as_slice()`? Eles fazem a mesma coisa? 2. Ka