目录

  1. 什么是 Rust 函数
  2. 为什么要使用函数
  3. 函数定义与调用
  4. 参数与返回值
  5. 函数表达式与闭包
  6. 代码示例
  7. 参考资料与出站链接

什么是 Rust 函数

Rust 函数是代码的可重用单元,使用 fn 关键字定义。它封装特定功能,支持参数传递和返回值,是 Rust 程序的基本构建块。


为什么要使用函数

  • 代码复用:减少重复代码。
  • 模块化:将逻辑分解为独立部分。
  • 可读性:通过命名函数表达意图。
  • 维护性:便于修改和调试。

函数定义与调用

  • 定义:使用 fn 关键字,后跟函数名、参数和返回值类型。
  • 调用:直接使用函数名和参数。
  • 约定:函数名使用蛇形命名法(snake_case)。
fn greet() {
    println!("Hello, Rust!");
}

参数与返回值

  • 参数:在括号中声明,需指定类型。
  • 返回值
  • 使用 -> 指定返回类型。
  • 无分号的表达式作为返回值,或使用 return
fn add(a: i32, b: i32) -> i32 {
    a + b  // 隐式返回
}

函数表达式与闭包

  • 函数体
  • 语句:执行操作,无返回值。
  • 表达式:计算并返回值。
  • 闭包
  • 使用 |param| expr 定义,捕获环境变量。
  • 可赋值给变量,支持灵活调用。
let double = |x| x * 2;

代码示例

基本函数

fn main() {
    say_hello();
    let sum = add(5, 3);
    println!("Sum: {}", sum);
}

fn say_hello() {
    println!("Hello from function!");
}

fn add(x: i32, y: i32) -> i32 {
    x + y
}

运行结果:

Hello from function!
Sum: 8

多返回值与闭包

fn main() {
    let (sum, diff) = calculate(10, 4);
    println!("Sum: {}, Diff: {}", sum, diff);

    let multiply = |a: i32| a * 2;
    println!("Double 5: {}", multiply(5));
}

fn calculate(a: i32, b: i32) -> (i32, i32) {
    (a + b, a - b)
}

运行结果:

Sum: 14, Diff: 6
Double 5: 10

参考资料与出站链接

  1. 官方文档
  1. 学习资源
  1. 社区支持