rust的函数
声明函数使用fn关键字,针对函数和变量名,rust使用snake case命名规范,即所有字母小写,单词间用下划线分开。
fn main() {
test_function();
}
fn test_function() {
println!("test func");
}
rust比较特别的是,不像c、python等语言,自定义函数在main也能调用。
函数的参数
parameters(形参)、arguments(实参)。
在函数签名里,必须声明每个参数的类型。
fn main() {
test_function(5, 6);
}
fn test_function(x: i32, y: i32) {
println!("test func, {} {}", x, y);
}
函数里的语句与表达式
函数体由一系列语句组成,可选的由一个表达式结束。
rust是一个基于表达式的语言。
- 语句(statement):一些执行动作的指令。函数的定义也是语句,语句不返回值,不能用let将一语句赋给变量。
- 表达式(Expressions):会计算产生一个值,如计算表达式(5+6),表达式是语句一部分。
函数的返回值
在->符号后声明函数的返回值类型,但不可为返回值命名。
rust里返回值一般是函数体里的最后一个表达式的值,若函数体中间返回,需使用return关键字跟一指定的值。
fn main() {
let x = add_func(5);
println!("f= {}", x);
}
fn add_func(x: i32) -> i32 {
x + 5 // 这里就是返回值,后不能加;号,如果加了就是一个语句,语句的返回值是空的Tuple (),编译时会报
// x + 5; implicitly returns `()` as its body has no tail or `return` expression
}
rust的注释
单行注释使用// 注释
多行注释使用
/*
注释
*/