IB-Rust-函数

Gabrielle Lv5

Codes in lesson3

函数组成

  • 声明函数的关键字 fn
  • 函数名 add()
  • 参数 ij和参数类型i32
  • 返回值类型i32
  • 函数体i + j

注意:函数可以在任意位置定义

函数名

开头是字符/下划线,后面是数字,下划线,字母(不能仅有下划线)

函数名和变量名使用蛇形命名法(snake case),如:fn add_two() -> {}

函数参数

Rust 是强类型语言,需要为所有函数参数标识具体类型

函数返回

函数返回值是函数体最后一条表达式的返回值,也可以使用 return 提前返回,初学者只需记住两种形态:

1
2
3
4
5
6
7
8
9
// 没有return + 没有分号
fn add(i: i32, j: i32) -> i32 {
i + j
}

// return + 分号
fn add(i: i32, j: i32) -> i32 {
return i + j;
}

特殊返回类型

1、无返回值()

如果一个函数没有返回值,就返回()

1
2
3
4
5
6
7
fn print(i: i32) {
println!("{}", i);
}

fn print(i: i32) -> () {
println!("{}", i);
}
2、函数永不返回

函数返回类型为!时,表示该函数永不返回(diverge function),常用做会导致程序崩溃的函数:

1
2
3
fn dead_end() -> ! {
panic!("崩溃");
}

下面的函数创建了一个无限循环,也永不返回:

1
2
3
4
5
fn forever() -> ! {
loop {
//...
};
}

练习题

https://practice-zh.course.rs/basic-types/functions.html

  • Title: IB-Rust-函数
  • Author: Gabrielle
  • Created at : 2025-05-21 13:48:11
  • Updated at : 2025-05-21 15:31:34
  • Link: https://zoella-w.github.io/2025/05/21/61-IB-Rust-函数/
  • License: This work is licensed under CC BY-NC-SA 4.0.