ZetCode

Rust 函数

最后修改于 2025 年 2 月 19 日

在本文中,我们将展示如何在 Rust 中使用函数。

函数

函数是一段可以从程序其他部分调用的代码块。函数用于组织代码并使其更具可读性。

在 Rust 中,函数使用 fn 关键字定义。

函数可以接受参数并返回值。

简单函数

以下是一个简单的 Rust 函数。

main.rs
fn main() {
    print_msg();
}

fn print_msg() {
    println!("Hello there!");
}

在程序中,我们定义了两个函数。main 函数调用 print_msg 函数。

fn print_msg() {
    println!("Hello there!");
}

print_msg 函数将消息打印到控制台。

$ cargo run -q
Hello there!

带参数的函数

函数可以接受参数。

main.rs
fn main() {
    let name = String::from("John Doe");
    let age = 34;

    print_msg(name, age);
}

fn print_msg(name: String, age: i32) {
    println!("{} is {} years old", name, age);
}

在程序中,我们定义了一个接受两个参数的 print_msg 函数。

fn print_msg(name: String, age: i32) {
    println!("{} is {} years old", name, age);
}

该函数打印一个人的姓名和年龄。

$ cargo run -q
John Doe is 34 years old

带返回值的函数

函数可以返回值。

main.rs
fn main() {
    let name = String::from("John Doe");
    let age = 34;

    let msg = print_msg(name, age);
    println!("{}", msg);
}

fn print_msg(name: String, age: i32) -> String {
    return format!("{} is {} years old", name, age);
}

在程序中,我们定义了一个返回字符串的 print_msg 函数。

fn print_msg(name: String, age: i32) -> String {
    return format!("{} is {} years old", name, age);
}

该函数构建一条消息,并将其从函数返回。

$ cargo run -q
John Doe is 34 years old

闭包

闭包是一个可以捕获环境中变量的函数。

main.rs
fn main() {
    let num = 3;

    let add_num = |x| x + num;

    println!("{}", add_num(5));
}

在程序中,我们定义了一个将一个数字加到另一个数字的闭包。

let num = 3;

let add_num = |x| x + num;

该闭包捕获了环境中的 num 变量。

$ cargo run -q
8

作者

我叫 Jan Bodnar,我是一名充满激情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。至今,我已撰写了 1400 多篇文章和 8 本电子书。我在教授编程方面拥有十多年的经验。

列出 所有 Rust 教程