渐进式编程课
Rust 目录
第 5 课2026.09.03

让函数根据条件返回不同价格。

第 5 课:if表达式与分支类型

  • 日期:2026-09-03
  • 课程序号:第 5 课
  • 知识点:布尔条件、分支结果与类型一致性

用途

让函数根据条件返回不同价格。

核心概念

  • if 的条件必须是 bool,不能直接写整数。
  • if 作为表达式时,各分支要返回兼容的类型;分支尾表达式不加分号。

最小代码或操作示例

rust
fn ticket_price(is_student: bool) -> i32 {
    if is_student { 20 } else { 40 }
}
fn main() {
    println!("{}", ticket_price(true));
    println!("{}", ticket_price(false));
}

3~5 分钟练习

增加函数 label(score: i32) -> &'static str,分数至少 60 返回“通过”,否则返回“重试”,测试 59 和 60。

参考答案

rust
fn label(score: i32) -> &'static str {
    if score >= 60 { "通过" } else { "重试" }
}
// label(59) 为“重试”;label(60) 为“通过”。

与上一课的联系

上一课使用函数尾表达式返回值;本课让尾表达式根据条件选择结果。&'static str 在这里表示字符串字面量的类型,借用细节留到后续。