Menu
Coddy logo textTech

Definindo uma Closure Simples

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

Agora que você entende o que são closures, vamos aprender como defini-las e usá-las em seu código. A maneira mais simples de criar uma closure é atribuí-la a uma variável, o que permite que você a chame mais tarde.

Veja como você define uma closure básica que não recebe parâmetros:

let my_closure = || {
    println!("Hello from the closure!");
};

Observe as barras verticais vazias || - isso indica que a closure não recebe argumentos. As chaves contêm o código que é executado quando você chama a closure.

Para chamar sua closure, você a utiliza exatamente como uma função, adicionando parênteses após o nome da variável:

let my_closure = || {
    println!("Hello from the closure!");
};

my_closure(); // Isso chama a closure e imprime a mensagem
challenge icon

Desafio

Fácil

Você receberá uma única entrada contendo uma mensagem. Crie uma closure que não receba parâmetros e imprima esta mensagem. Armazene a closure em uma variável e, em seguida, chame-a para exibir a mensagem.

Requisitos:

  • Leia a mensagem de entrada e remova os espaços em branco (trim)
  • Crie uma closure usando a sintaxe || que imprima a mensagem
  • Armazene a closure em uma variável
  • Chame a closure para executá-la

Entrada:

  • Uma única linha contendo uma mensagem (ex: Welcome to Rust!)

Saída:

  • A mensagem impressa pela closure

Folha de consulta

Uma closure é definida usando barras verticais || e pode ser armazenada em uma variável:

let my_closure = || {
    println!("Hello from the closure!");
};

Para chamar uma closure, use parênteses após o nome da variável:

my_closure(); // Executa a closure

Experimente você mesmo

use std::io;

fn main() {
    // Ler a entrada
    let mut message = String::new();
    io::stdin().read_line(&mut message).expect("Failed to read line");
    let message = message.trim();
    
    // TODO: Criar uma closure que imprime a mensagem e armazená-la em uma variável
    
    
    // TODO: Chamar a closure para imprimir a mensagem
    
}
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