函数与控制流
fn 定义、表达式 vs 语句、if/else、loop/while/for range
函数与控制流
Rust 的 if 是表达式(有返回值)、loop 也是表达式、for in 遍历集合最常用。
学完本章你将: 掌握 fn 定义、表达式 if、loop/while/for range。
函数
rust
fn add(a: i32, b: i32) -> i32 {
a + b // 最后一行没有分号 = 返回值
}
fn greet(name: &str) -> String {
format!("你好,{}!", name)
}
fn main() {
println!("{}", add(3, 5)); // 8
println!("{}", greet("小明"));
}
if 是表达式
rust
let score = 85;
let grade = if score >= 90 {
"A"
} else if score >= 80 {
"B"
} else {
"C"
}; // 注意分号
println!("{}", grade); // B
// if 的每个分支必须返回相同类型
循环
rust
// loop — 无限循环(可用 break 返回值)
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // break 带值!
}
};
// while
while counter > 0 {
counter -= 1;
}
// for in(最常用)
let arr = [10, 20, 30, 40, 50];
for elem in arr {
println!("{}", elem);
}
// Range
for i in 0..5 { // 0, 1, 2, 3, 4
println!("{}", i);
}