Avatar ·

Como iterar sobre Vec<T> obtendo o índice do elemento em Rust?

Olá a todos! Comecei a estudar Rust recentemente e tive um problema ao percorrer um vetor com acesso ao índice do elemento. Em outras linguagens, como Python ou JavaScript, estou acostumado a escrever algo como `for i, value in enumerate(list)` ou `for (let i = 0; i < arr.length; i++)`. Em Rust, sei que posso simplesmente usar `for value in vec`, mas então perco o índice. Preciso exibir na tela todos os elementos do vetor junto com suas posições, por exemplo: ```rust let items = vec!["maçã", "banana", "cereja"]; // Quero obter: "0: maçã", "1: banana", "2: cereja" ``` Tentei fazer assim: ```rust for i in 0..items.len() { println!("{}: {}", i, items[i]); } ``` Isso funciona, mas ouvi dizer que o acesso por índice usando colchetes pode causar pânico se o índice estiver fora dos limites. Embora aqui eu controle o comprimento, não parece muito idiomático para Rust. Além disso, se o vetor for modificado durante a iteração, podem surgir problemas. Como iterar de forma correta e segura?