Rust 教程 目录

Rust 函数

函数是编程中的基本构建块。它们允许我们将代码组织成可重用的部分,从而使程序更易于理解和维护。在本章中,我们将详细介绍如何定义和使用 Rust 中的函数。

定义一个简单的函数

在 Rust 中,函数通过 fn 关键字定义。一个简单的函数如下所示:

在这个例子中,say_hello 函数被定义为不带参数且不返回任何值。当我们在 main 函数中调用 say_hello() 时,它会输出 "Hello, world!"。

带有参数的函数

函数可以接受一个或多个参数。这些参数在函数定义时声明,并在函数体内部使用。下面是一个带有参数的例子:

在这个例子中,greet 函数接受一个名为 name 的字符串引用作为参数,并将其用于输出。注意,我们使用 &str 来表示字符串的引用类型。

返回值的函数

函数不仅可以执行操作,还可以返回值。在 Rust 中,函数通过在 -> 符号后面指定返回类型来声明其返回值类型。下面是一个返回值的例子:

在这个例子中,add 函数接受两个整数参数,并返回它们的和。注意,函数体的最后一行是函数的返回值,无需显式的 return 关键字。

多个返回值

Rust 不支持像其他语言那样的多返回值功能。不过,你可以通过元组(tuple)来实现类似的效果。下面是一个例子:

在这个例子中,get_coordinates 函数返回一个包含两个整数的元组。我们可以将这个元组解构为两个单独的变量。

带有默认参数的函数

Rust 不支持默认参数,但是可以通过函数重载或者使用 Option 类型来模拟这种行为。下面是使用 Option 类型的例子:

-- -------------------- ---- -------
-- ------ -
    ------------- ----- -- ------ --------------------
    ------------- ----- -- ------ -----------------
-

-- ------------ ------------ -- --- -
    ----- - -
        --------- -- ----
        ---- -- --
    -
-

在这个例子中,get_value 函数接受一个 Option<i32> 类型的参数。如果参数是 Some 类型,则返回其中的值;如果是 None,则返回 0。

匿名函数与闭包

除了命名函数之外,Rust 还支持匿名函数,也称为闭包。闭包是一种可以在运行时创建的函数。它们通常用于需要短小、临时使用的函数的地方。下面是一个例子:

在这个例子中,我们定义了一个闭包 plus_one,它接受一个整数参数并返回该参数加一的结果。

高阶函数

高阶函数是指接受一个或多个函数作为参数,或者返回一个函数作为结果的函数。这是函数式编程的一个重要概念。下面是一个例子:

-- -------------------- ---- -------
-- ------ -
    --- ------ - --- - - --
    --- ------ - --- - - --

    --- --------------- - --- -- -
        --- ------ - -----
        ----------------- ---- --------
    --

    ----------------------- --- -- ---------- -
    ----------------------- --- -- ---------- -
-

在这个例子中,apply_and_print 是一个接受一个函数和一个整数的高阶函数。它应用传入的函数到给定的整数上,并打印结果。

结论

函数是 Rust 编程的核心概念之一。通过理解如何定义和使用函数,您可以编写更加模块化、可重用和易维护的代码。无论是简单的函数还是复杂的闭包和高阶函数,Rust 都提供了丰富的工具来帮助您实现所需的功能。

上一篇: Rust 复合类型
纠错
反馈