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

  1. Comando if
  2. Comando if-else
  3. Comando if-else-if
  4. if-let
  5. if ternário
  6. funções como argumento
  7. multíplas condições
  8. Retorno de operador

A linguagem de programação Rust fornece os comandos de decisão if, if-else, if-else-if e if-let. Nesta parte do tutorial vamos aprender esses comandos.

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

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

Para a tomada de decisão em nossos programas em Rust, quando precisamos executar ou não alguma trecho de código, utilizamos o comando if abaixo:

Fig. 1: Fluxograma do Comando if
Sintaxe
if(condicao)
{
  //seu código aqui
}
Onde
condicao: Expressão que retorna true ou false. 

Caso condicao seja verdadeira, o trecho de código contido no corpo do comando if será executado. Quando condicao é unica, os parênteses não são obrigatórios.

Exemplo 1
fn main() {
    let valor1:bool = true;
    let valor2:i8 = 20;
    
    if(valor1 == true || valor2 > 10)
    {
        println!("{}",valor1);    
    }   
}
Saída
true,20

Quando estamos diante de uma situação em precisamos executar um trecho de código ou outro trecho baseado em uma ou mais condições, Rust nos fornece o comando if-else:

Fig. 2: Fluxograma do Comando if-else
Sintaxe
if(condicao)
{
  //condicao verdadeira
}
else
{
  //condicao falsa
}
Onde
condicao: Expressão que retorna true ou false. 

Caso condição seja verdadeira, o trecho de código contido no corpo do comando if será executado. Caso contrário, o trecho de código contido no corpo de comando else será executado.

Exemplo 2
fn main() {

    let valor1:bool = false;

    if(valor1 == true)
    {
        println!("Valor é true");    
    }
    else
    {
        println!("Valor é falso");  
    }
}
Saída
Valor é true

Como último caso de tomada de decisão, temos a situação em precisamos realizar várias validações em cascata utilizando os comandos if e if-else vistos acima:

Fig. 3: Fluxograma do Comando if-else-if
Sintaxe
if(condicao1)
{
  //se condicao1 verdadeira
}
else if (condicao2)
{
 //se condicao2 verdadeira
}
else if (condicao3)
{
//se condicao3 verdadeira
}
else
{
 //caso contrário, esse trecho de código será executado
}
Onde
condicao: Expressão que retorna true ou false. 

Caso a condicao1 seja verdadeira, o trecho de código contido no corpo do comando será executado. Caso contrário, as condições seguintes serão testadas em cascata da mesma forma sendo executado o trecho de código contido no corpo do comando else-if caso a condição seja verdadeira.

Exemplo 3
fn main() {

    let valor1:i8 = 10;

    if(valor1 == 0)
    {
        println!("Valor é 0");    
    }
    else if (valor1 == 5)
    {
        println!("Valor é 5");  
    }
    else if (valor1 == 10)
    {
        println!("Valor é 10");  
    }
    else{
        println!("Valor desconhecido.");  
    }
}
Saída
Valor é 10
  1. 21/05/2026 - versão inicial - Adição: if, if-else e if-else-if