【Rust入门知识点学与练】第4课:条件判断 if / else

知识点:if、else if、else

rust 复制代码
fn main() {
    let score = 85;

    if score >= 90 {
        println!("优秀");
    } else if score >= 60 {
        println!("及格");
    } else {
        println!("不及格");
    }

    // if 是表达式,可以返回值
    let level = if score >= 60 { "通过" } else { "未通过" };
    println!("考试结果: {}", level);
}

核心规则

规则 说明

条件不用加括号 if x > 0 而不是 if (x > 0)

花括号必须加 不能像其他语言省略 {}

if 可以返回值 最后一个表达式不加 ; 就是返回值

动手试试

补全下面的代码:

复制代码
fn main() {
    let temperature = 35;

    // 补全:根据温度打印不同提示
    // >= 35  → "🔥 高温警告"
    // >= 25  → "☀️ 天气不错"
    // >= 10  → "🍂 有点凉"
    // < 10   → "❄️ 注意保暖"

    // 补全:用 if 表达式给 clothes 赋值
    // >= 25  → "短袖"
    // < 25   → "外套"
    // 然后打印 "建议穿: {clothes}"
}

期望输出:

🔥 高温警告

建议穿: 短袖

写好了贴过来,没问题就进入第5课:函数 👋

贴代码

复制代码
fn main() {
    let temperature = 35;

    // 补全:根据温度打印不同提示
    // >= 35  → "🔥 高温警告"
    // >= 25  → "☀️ 天气不错"
    // >= 10  → "🍂 有点凉"
    // < 10   → "❄️ 注意保暖"
    if temperature >= 35 {
        println!("🔥 高温警告");
    } else if temperature >= 25 {
        println!("☀️ 天气不错");
    } else if temperature >= 10 {
        println!("🍂 有点凉");
    } else {
        println!("❄️ 注意保暖");
    }

    // 补全:用 if 表达式给 clothes 赋值
    // >= 25  → "短袖"
    // < 25   → "外套"
    // 然后打印 "建议穿: {clothes}"
    let clothes = if temperature >= 25 {
        "短袖"
    } else {
        "外套"
    };
    println!("建议穿: {}", clothes);
}

评语

完全正确!👏

你掌握了:

if / else if / else 条件判断

条件不用加括号,花括号必须加

if 作为表达式返回值(最后一个表达式不加 ; )

重点知识点

  1. if‑else if‑else 顺序很重要:条件要从高到低写,先判断更大的值,否则会匹配错误。
  2. Rust 中 if 是表达式,可以直接赋值给变量,每个分支返回的值类型必须一样。
  3. 分支里返回字符串字面量 &str ,两个分支都返回字符串,类型一致才可以编译。

小练习:

你可以修改 temperature 的值为 20 、 5 ,看看输出会不会变化。

相关推荐
今天要早睡_10 分钟前
C++01_入门基础复习
开发语言·c++
无心水33 分钟前
24、系统架构师论文写作专题 核心考点与学习笔记
笔记·学习·系统架构·架构师·安全架构·软考架构师·软考系统架构设计师
蒸蒸yyyyzwd1 小时前
邓明 Agent 系统面试-意图识别学习笔记
笔记·学习
黑马程序员毕设1 小时前
基于 Java 的餐饮点餐系统设计与应用报告
java·开发语言
Vex2une2 小时前
Google Picasa 精神续作:Rust 重写的离线本地相册工具‌
rust·图片管理·picasa·马良·本地照片管理·重复图片检测·maliang
1-1=02 小时前
C# 委托与事件
开发语言·c#
Fuyo_11193 小时前
C++ 运行时多态与虚函数机制全面剖析【面试重点】
开发语言·c++·面试
w_zero_one3 小时前
递归算法(一)
java·开发语言·算法
Julien20044 小时前
管理机密(一)
运维·服务器·开发语言·学习方法
Chen_harmony4 小时前
七、STL与string类
开发语言·c++