Rust学习笔记005-函数
函数定义
- 使用
fn
关键字定义函数; - 函数名使用
snake_case
规范命名; - 函数可以定义在
main
函数之前或之后,Rust 不关心函数定义于何处;
|
|
函数参数
- 函数可以定义多个参数,使用逗号
,
分隔; - 参数是函数签名的一部分;
- 参数必须指定类型;
包含语句和表达式的函数体
函数体由一系列的语句和一个可选的结尾表达式构成。
- 语句(Statements)是执行一些操作但不返回值的指令;
|
|
- 表达式(Expressions)计算并产生一个值;
表达式会计算出一些值,并且你将编写的大部分 Rust 代码是由表达式组成的。考虑一个简单的数学运算,比如 5 + 6,这是一个表达式并计算出值 11。表达式可以是语句的一部分:在示例 3-1 中,语句 let y = 6; 中的 6 是一个表达式,它计算出的值是 6。函数调用是一个表达式。宏调用是一个表达式。我们用来创建新作用域的大括号(代码块),{},也是一个表达式,例如:
|
|
这个表达式:
|
|
是一个代码块,它的值是 4。这个值作为 let 语句的一部分被绑定到 y 上。注意结尾没有分号的那一行 x+1,与你见过的大部分代码行不同。
在接下来探索具有返回值的函数和表达式时要谨记以下三点:
- 表达式的结尾没有分号;
- 表达式结尾加上分号,就变成了语句;
- 语句不会返回值;
具有返回值的函数
函数可以向调用它的代码返回值。我们并不对返回值命名,但要在箭头(->
)后声明它的类型。
- 在 Rust 中,函数的返回值等同于函数体最后一个表达式的值;
- 使用 return 关键字和指定值,可从函数中提前返回;
- 大部分函数隐式的返回最后的表达式;
这是一个有返回值的函数的例子:
|
|
函数返回值的两种方式:
- 使用
return
关键字+指定值; - 使用结尾表达式;
- 原文作者:maratrix
- 原文链接:https://maratrix.cn/post/2020/02/05/005-rust-functions-notes/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。