(二)Rust函数
本文最后更新于 2024年6月24日 下午
函数在Rust中非常常见,在上一节示例中,你已经看到了Rust中程序入口函数main
函数。同时你应该也发现了关键字fn
可以用来声明函数。
Rust代码中使用蛇形命名法来对函数和变量进行命名。下面是一个例子:
1 |
|
输入fn
后跟函数名和一对小括号,同时使用花括号标识函数的开始和结束,就可以声明一个函数。可以通过函数名加小括号的方式在程序中对函数进行调用。和C语言不同的是,Rust不要求函数的声明在调用之前。
函数参数
Rust函数可以携带参数,和其余静态类型语言一样,需要指定参数的数据类型,下面是一个例子:
1 |
|
函数another_function
有一个名字为x
类型为i32
的参数。传递数字5
进入该函数,println!
宏把花括号替换为5
,将结果打印在控制台。
如果需要传递多个参数,可以通过逗号将多个参数分割开,下面是一个例子:
1 |
|
声明和表达式
声明是执行一系列动作,但不返回值的指令。
表达式是最终得到结果值的指令。下面是一个例子:
1 |
|
这里需要注意的是:在Rust中表达式的最后一行如果没有分号,会将其作为表达式的返回值返回。和C语言不同的是let x=3
并不会返回3
这个值,因此let x=(let y=10);
编译无法通过。
带有返回值的函数
函数可以携带返回值,但是需要在函数小括号后使用箭头指定返回类型。下面是一个例子:
1 |
|
定义了一个函数名为five
的函数,函数的返回值为i32
类型,没有参数。在花括号内只有一行并且没有以分号结尾,因此函数隐式返回了5
作为该函数的返回值。除此之外我们也可以使用return
显式返回,下面是一个例子:
1 |
|