函数
2021-05-17 23:23 作者:707才不会沉迷B站 | 我要投稿
函数以fn开头,接着是函数名,可以定义在任何位置
函数名后的括号里是参数,调用时只需要函数名+参数。
函数参数由参数名:类型组成,类型是必须指定的,多个参数用逗号隔开,调用的时候传递实际参数。
参数后的{}中是函数体,由一系列语句和表达式组成。结尾之前都必须是语句,但结尾可以是语句或表达式。
Rust的语句和表达式是有区别的,语句只有行为没有返回值,表达式有值,语句中可以包含表达式,表达式加上分号就是语句。
表达式:
8
2+4
x+2
another_function(5, 6)
println!("hello, world")
{ y + 1 }
整个是语句,{}中的是表达式,{}中第一行是语句,最后一行x+1是表达式,没有分号。
语句:
fn main() {}
let x = 6;
表达式;
所以函数是语句,函数体是表达式,同样符合语句包含表达式的原则。
函数返回值用“->类型”定义,返回值是函数体最后一个表达式的值
函数调用返回的是表达式x+1的值,如果改成x+1;,函数就没有返回值,返回的实际是空元组(),和返回类型就不匹配了。