Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comando for
  2. Comando while
  3. Comando loop
  4. while-let
  5. ex. while com sentinela

Para executarmos alguns trechos de código de nossos programas escritos em Rust, utilizamos os comandos de repetição for, while e loop. Rust não dá suporte ao comando do-while(21/05/2026).

O funcionamento dos comandos de repetição já foram discutidos em Portugol: Comandos de Repetição sendo a leitura recomendada.

Os comandos de repetição são utilizados em conjunto com os operadores lógicos e relacionais vistos em Rust Operadores: Relacionais e Rust Operadores: Lógicos.

O comando for é um pouco diferente desse mesmo comando em outras linguagens estilo-C. Em Rust, esse comando utiliza o operador in para que seja possível fazer a iteração sobre elementos.

Como em várias linguagens, o comando é utilizado quando precisamos iterar ou percorrer uma coleção de valores contidos em uma variável.

Fig. 1: Fluxograma do Comando for
Sintaxe
for item_dado in origem_dado {
    //código
}
Onde
item_dado: item/elemento pertencente a origem_dados.  
origem_dado: lista de valores contidos em vetores, strings e etc.
Exemplo 1
fn main() {
    for item in [1,2,3] {
        print!("{}",item)
    }
}
Saída
123

A linguagem Rust permite que o comando for também seja utilizado em conjunto com o operador com operador de intervalo ou range ".." :

Sintaxe
inicio_intervalo .. fim_intervalo
Sintaxe
for item_dado in origem_dado {
    //código
}
Onde
item_dado: item/elemento pertencente a origem_dados.  
origem_dado: lista de valores contidos em vetores, strings e etc.
inicio_intervalo: valor inicial da sequencia de valores
fim_intervalo: valor final para a sequencia de valores
Exemplo 2
fn main(){
   
   //de -5 a 5
   for valor in -5..6
   {
       println!("x is {}",x);
   }

}
Saída
valor:-5
valor:-4
valor:-3
valor:-2
valor:-1
valor:0
valor:1
valor:2
valor:3
valor:4
valor:5

Esse comando for + range em Rust se assemelha ao comando foreach disponível em outras linguagens como C# e Java.

O comando while é uma segunda forma de executarmos trechos de nossos programas escritos em Rust de forma repetida.

Em Rust, o comando while tem o mesmo funcionamento encontrado em várias linguagens como C++, C# e Java, que é executar um trecho de código enquanto uma condição é verdadeira.

Onde
condicao: Expressão que retorna true ou false. 
Fig. 2: Fluxograma do Comando while
Sintaxe
while(condicao)
{
  //bloco de código
}

Caso a condicao seja verdadeira, o trecho de código contido no corpo do comando while será executado. Caso contrário, o programa seguirá sua execução após com comando while.

Exemplo 3
fn main(){
   let mut contador = 0;
   while x < 5 
   {
      x+=1;
      println!("{}",x);
   }
}
Saída
1
2
-1
            

A linguagem Rust possui o comando de repetição loop que tem como proposta criar um loop infinito. Com esse comando é possível simular o comando do-while presente em outras linguagens.

Sintaxe
loop {
 //seu código aqui
 //condiçao de parada
}
Exemplo 4
fn main(){
   
   let mut contador:i8 = 0;
   loop
   {
       if contador == 5{
        break;
       }
       println!("{}",contador);
       contador+=1;
   }
}
Saída
0
1
2
3
4

Como em muitas linguagens, em determinados momentos que utilizamos comandos de repetição precisamos encará-los de forma abrupta. Nessa situação, utilizamos o comando break.

Sintaxe
break
Exemplo 5
fn main(){
   
   let mut contador = 0;
   
   while contador < 15 
   {
      println!("{}",contador);
      contador+=1;
      
      if contador == 10
      {
          break;
      }
   }
}
Saída
0
1
2

O comando continue, usado com comandos de repetição, quando encontrado, salta para o próximo loop do comando de repetição.

Sintaxe
continue
Exemplo 6
fn main(){
   
   let mut contador = 0;
   while contador < 10 
   {
      if (contador % 2 != 0)
      {
        contador+=1; 
        continue;    //vai para próximo laço
      }
      contador+=1; 
      println!("{}",contador);
   }
}
Saída
1
3
5
7
9
  1. 21/05/2026 - versão inicial - Adição: for, while, loop, continue e break