Rust 学习笔记 函数

62 阅读1分钟

函数

use std::fmt;

fn main() {
    println!("hello world");
    let result = print_str("rust");
    println!("result = {:?}", result);
    let result = add();
    println!("result = {}", result);
    let result = add_another();
    println!("result = {}", result);
}

fn print_str(str: &str) {
    println!("hello {}", str);
}

fn add() -> u8 {
    let x = 10;
    let y = 2;
    return x + y;
}

fn add_another() -> u8 {
    let x = 10;
    let y = 2;
    x + y
}
  • 同其他语言一样,main函数是程序的入口
  • 函数使用fn关键字声明新函数,函数遵循snake case规范,可以使用小写字母和下划线
  • 如果有参数同其他语言一样声明即可
  • 如果有返回值则在函数名后面跟上-> 返回值{}大括号里面则是函数体,函数的具体实现
  • 返回值可以使用上述addadd_another两种方式返回,注意结尾;的区别,如果无return则表示最后一行即代表该函数的返回,无返回值的函数返回的是()

语句和表达式

  • 函数体由一系列的语句和一个可选的结尾表达式构成
  • 语句(Statements)是执行一些操作但不返回值的指令。 表达式(Expressions)计算并产生一个值
fn main() {
    let x = 10 + 2;
    let y = {
        let z = 2;
        10 + z
    };
}
  • let x = 10 + 2;是一个语句
  • 函数调用是一个表达式。宏调用是一个表达式。用大括号创建的一个新的块作用域也是一个表达式