Rust 函数的定义是用 fn 关键字。

无返回值 无参数

下面是一个无返回值和参数的函数。

1
2
3
4
fn print_hello()
{
println!("Hello World!");
}

定义带参数的函数

在 rust 中定义带参数的函数必须指定参数的类型。

1
2
3
4
5
6
7
8
9
10
11
fn main() {

let height = 22.4;
let width = 22.8;
println!("矩形的面积为:{:.3}", get_rectangle_area(height, width));
}

fn get_rectangle_area(height: f64, width: f64) -> f64
{
height * width
}

交换两个数

1
2
3
4
5
6
7
8
9
10
11
12
13
fn main() {
let mut a = 233;
let mut b = 221;
swap(&mut a, &mut b); // 获取 a和b的引用,而不获取所有权
println!("a: {}, b: {}", a, b);
}

fn swap(n1: &mut i64, n2: &mut i64)
{
let tmp: i64 = *n1; // * 解引用
*n1 = *n2;
*n2 = tmp;
}

引用和变量一样也分为可变和不可变引用。 可变引用的mut 在 & 号后面。