函数
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
规范,可以使用小写字母和下划线
- 如果有参数同其他语言一样声明即可
- 如果有返回值则在函数名后面跟上
-> 返回值
,{}
大括号里面则是函数体,函数的具体实现
- 返回值可以使用上述
add
和add_another
两种方式返回,注意结尾;
的区别,如果无return
则表示最后一行即代表该函数的返回,无返回值的函数返回的是()
语句和表达式
- 函数体由一系列的语句和一个可选的结尾表达式构成
- 语句(Statements)是执行一些操作但不返回值的指令。 表达式(Expressions)计算并产生一个值
fn main() {
let x = 10 + 2
let y = {
let z = 2
10 + z
}
}
let x = 10 + 2;
是一个语句
- 函数调用是一个表达式。宏调用是一个表达式。用大括号创建的一个新的块作用域也是一个表达式