05_rust的函数、注释

发布时间 2023-10-12 20:45:21作者: UFOFCZ

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的注释

单行注释使用// 注释
多行注释使用
/*
注释
*/