【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 ,看看输出会不会变化。

相关推荐
从小白到软工4 小时前
4-1 指针
c语言·开发语言·数据结构·经验分享·ai编程
Pniubi4 小时前
agent处理封号怎么解决误封问题
开发语言·python
AI小云4 小时前
零基础如何系统学习AI?2026年技术路径与培训选择深度分析
人工智能·学习
我命由我123454 小时前
准入类与水平类职业资格
笔记·学习·职场和发展·产品运营·求职招聘·职场发展·产品经理
.Hypocritical.4 小时前
【Java 进阶】泛型深度解析|泛型类、泛型方法、通配符、类型擦除、PECS 原则
java·开发语言·泛型
VX_bysjlw9854 小时前
基于PHP的论坛系统设计与实现 35136-计算机毕设原创(免费领源码+带部署教程)
开发语言·php·apache·laravel·thinkphp·phpstudy·wampserver
忆~遂愿4 小时前
电影照片散在硬盘里不好找?我用群晖+Plex整理成可远程访问的家庭媒体库
开发语言·php
ly_Enhs5 小时前
从无光照到 PBR:我的环境光照学习记录
学习·vulkan图形渲染c/c++
小李不想当小白5 小时前
USART串口数据包(STM32标准库学习笔记)
经验分享·笔记·stm32·单片机·嵌入式硬件·学习
xier_ran5 小时前
【infra之路】AI 编译器学习笔记(八):向量化——把小块变成 SIMD 指令
人工智能·笔记·学习