Rust入门-03-函数
函数
-
fn
关键字声明函数 -
函数和变量名使用下划线命名法(snake case)
- 所有字母小写
- 下划线分隔单词
fn another_function() { println!("Another function."); }
-
函数可以在
main
函数之后,也可以定义在main
之前(与其他语言不同)
参数
-
声明函数时必须要声明每个参数的类型
fn another_function(x: i32) { println!("The value of x is: {}", x); }
-
当一个函数有多个参数时,使用逗号分隔
fn print_labeled_measurement(value: i32, unit_label: char) { println!("The measurement is: {}{}", value, unit_label); }
语句和表达式(expression-based)
语句(statement)是执行一些操作但不返回值的指令
-
函数定义就是一个语句
-
语句不会返回值
- 不能把
let
语句赋值给另一个变量
fn main() { let x = (let y = 6); //let y = 6 不会返回值 }
- 不能把
该程序编译会发生错误
- 所以在rust中不可以写
x = y = 6
表达式(expression)计算并产生一个值
-
表达式会返回值
-
表达式的结尾没有分号
- 加上分号就变成了语句
-
函数调用是一个表达式
-
宏调用是一个表达式
-
创建新作用域的大括号也是一个表达式
fn main() { let y = { //该代码块(大括号包围没有let y = )就是一个表达式 let x = 3; x + 1 //末尾没有分号 }; println!("The value of y is: {}", y); }
输出结果为
The value of y is: 4
带有返回值的函数
-
使用箭头
->
后声明返回值类型fn five() -> i32 { //该函数返回值类型被指定为 i32 5 } //该函数中只有数字5本身,但在Rust中是一个完全有效的函数
fn plus_one(x: i32) -> i32 { x + 1 //末尾不加分号 }
-
函数的返回值等同于函数体最后一个表达式的值
- 使用
return
关键字和指定值,可从函数中提前返回 - 大部分函数隐式的返回最后的表达式
- 使用
-
关于
main
函数
fn main () {}
main函数的返回值类型是
()
,它是一个特殊的元组——没有元素的元组,称为unit
,它表示一个函数没有任何信息需要返回。
()
类型,其实类似于C/C++、Java、C#中的void
类型。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战