16 函数的定义与调用
在上一篇文章中,我们了解了 Rust 的控制流与模式匹配。在这篇文章中,我们将深入探讨 Rust 中的函数定义与调用。函数是程序设计的基本构件之一,它们使我们能够将任务分解为可重用的组件。
函数的定义
在 Rust 中,定义一个函数使用 fn
关键字。基本的函数定义格式如下:
1 | fn 函数名(参数: 参数类型) -> 返回类型 { |
函数名
:指的是函数的名称。参数
:指定传入函数的数据,可以有多个参数,每个参数后面都有其类型。返回类型
:若函数有返回值,需要通过->
关键字指定返回值的类型。
示例:简单的函数定义
让我们来看看一个简单的函数定义的例子,该函数计算两个整数的和:
1 | fn add(a: i32, b: i32) -> i32 { |
这里我们定义了一个名为 add
的函数,它接受两个 i32
类型的参数 a
和 b
,并返回它们的和。
函数的调用
定义了函数后,我们可以在程序中调用它。函数调用的基本语法如下:
1 | 函数名(参数1, 参数2); |
示例:函数调用
我们可以通过调用上面的 add
函数来计算两个数的和:
1 | fn main() { |
在这个例子中,我们在 main
函数中调用了 add
函数,并将返回值赋给变量 result
,随后使用 println!
宏输出结果。
多参数的函数
函数可以接受多个参数。假设我们想定义一个计算矩形面积的函数,它接收两个参数,分别是长度和宽度:
1 | fn rectangle_area(length: f64, width: f64) -> f64 { |
在这个例子中,rectangle_area
函数接收两个 f64
类型的参数,并返回它们的乘积,表示矩形的面积。
可变参数的函数
Rust 中的函数参数是不可变的,但我们可以通过传递 可变引用
来实现可变性。此外,Rust 提供了将参数列表作为切片传入的能力。这种情况下,我们可以定义一个接收任意数量参数的函数,例如计算多个数的和:
1 | fn sum(numbers: &[i32]) -> i32 { |
在上面的例子中,sum
函数接受一个 i32
类型的切片,并计算其和。我们通过 &
符号传递 vec
的引用。
小结
本篇文章介绍了 Rust 中函数的定义与调用,包括简单的函数、多个参数的函数以及接受可变参数的函数。理解函数如何定义和如何调用是深入学习 Rust 的重要基础。在接下来的文章中,我们将会讨论函数的参数与返回值,这将帮助我们更好地理解函数的使用细节。
希望你能在接下来的学习中继续保持对 Rust 的热情与探索精神!
16 函数的定义与调用