Z
ZHANK
入门基础

函数与控制流

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);
}