Menu
CoddyTech

定义一个简单的闭包

本课属于 Coddy Rust 学习旅程的“逻辑与流程”单元。第 60 课,共 66 课。

现在你已经了解了闭包是什么,接下来学习如何在代码中定义和使用闭包。创建闭包最简单的方法是将它赋值给一个变量,这样你就可以稍后调用它。

下面介绍如何定义一个不接收参数的基本闭包:

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

注意空的竖线 ||,这表示闭包不接收任何参数。花括号中包含调用闭包时运行的代码。

要调用闭包,只需像调用函数一样,在变量名后加上括号:

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

my_closure(); // 这里会调用闭包并打印消息
challenge icon

挑战

简单

你会收到一条包含消息的输入。创建一个不接受任何参数并打印这条消息的闭包。将闭包存储在一个变量中,然后调用它来显示消息。

要求:

  • 读取输入的消息并去除空白字符
  • 使用 || 语法创建一个能打印消息的闭包
  • 将闭包存储在一个变量中
  • 调用闭包来执行它

输入:

  • 一行消息(例如:Welcome to Rust!)

输出:

  • 闭包打印的消息

亲手试试

use std::io;

fn main() {
    // 读取输入
    let mut message = String::new();
    io::stdin().read_line(&mut message).expect("Failed to read line");
    let message = message.trim();
    
    // TODO: 创建一个打印消息的闭包,并将它存入变量
    
    
    // TODO: 调用这个闭包来打印消息
    
}
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Rust 在线编译器