Menu
Coddy logo textTech

Iterando sobre um Vetor

Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 11 de 66.

Agora que você sabe como criar vetores e acessar elementos individuais, vamos aprender como processar cada elemento em um vetor sistematicamente. O loop for é perfeito para esta tarefa, permitindo que você visite cada elemento em sequência.

Aqui está a sintaxe básica para iterar sobre um vetor:

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

Observe o & antes de names - isso cria uma referência para o vetor, permitindo que você leia cada elemento sem assumir a posse (ownership) do próprio vetor. Cada iteração fornece acesso a um elemento por vez através da variável de loop name.

O laço for lida automaticamente com a verificação de limites para você. Ao contrário da indexação manual, você nunca tentará acidentalmente acessar um elemento que não existe. O laço percorrerá exatamente tantos elementos quantos o vetor contiver, tornando-o seguro e conveniente.

Você pode usar este padrão com qualquer tipo de vetor:

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

Esta abordagem é a maneira mais comum e idiomática de processar todos os elementos em um vetor quando você precisa ler seus valores.

challenge icon

Desafio

Fácil

Escreva uma função sum_all_elements que recebe um vetor numbers e retorna a soma de todos os seus elementos.

Use um loop for para iterar sobre o vetor e acumular a soma de todos os elementos.

Parâmetros:

  • numbers (Vec<i32>): O vetor de inteiros para somar

Retorno: A soma de todos os elementos no vetor (i32)

Folha de consulta

Para iterar sobre um vetor, use um loop for com uma referência para o vetor:

let names = vec!["Alice", "Bob", "Charlie"];

for name in &names {
    println!("Hello, {}!", name);
}

O & antes do nome do vetor cria uma referência, permitindo que você leia cada elemento sem assumir a posse (ownership). O loop lida automaticamente com a verificação de limites e visita exatamente a quantidade de elementos que o vetor contém.

Este padrão funciona com qualquer tipo de vetor:

let scores = vec![85, 92, 78, 90];

for score in &scores {
    println!("Score: {}", score);
}

Experimente você mesmo

fn sum_all_elements(numbers: Vec<i32>) -> i32 {
    // Escreva o código aqui
}
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Logic & Flow