Rust学习笔记(1)

Rust学习笔记(1)

周三 2025年4月09日
457 字 · 3 分钟

Rust学习笔记

决定还是学习后端语言,选中了rust,听说它很难。嗯,我就喜欢挑战一下!

官网第一课

当然不是hello world,这个太简单了。从猜数字游戏开始! 先跟着官方入门课程看了一遍,然后凭记忆复写一遍。

RUST
use rand::Rng;
use std::cmp::Ordering;
use std::io;
use std::thread;
use std::time::Duration;

fn main() {
    println!("猜数字游戏!");

    let secret_number = rand::rng().random_range(1..=100);  // 修正方法名
    let mut guess = String::new();

    loop {
        println!("请输入你的猜测:(1-100)");
        guess.clear();
        io::stdin().read_line(&mut guess).expect("读取失败");  // 移除赋值语句
        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => {
                println!("请输入一个有效的数字!(1-100)");
                continue
                }
        };
        match guess.cmp(&secret_number) {
            Ordering::Less => println!("太小了!"),
            Ordering::Greater => println!("太大了!"),
            Ordering::Equal => {
                println!("恭喜你,猜对了!");
                thread::sleep(Duration::from_secs(3));  // 延迟3秒
                println!("游戏结束,程序2秒后退出");
                thread::sleep(Duration::from_secs(2));  // 延迟2秒
                break;
            }
        }
    }
}

好吧,我承认我调试了n久还是通不过编译器,然后我让ai帮我检查了一遍。

RUST
guess = io::stdin().read_line(&mut guess).expect("读取失败"); // 写错语句位置
io::stdin().read_line(&mut guess).expect("读取失败"); // 我理解错了,这里标准库文件里已经有赋值了,所以我死活通不过

当然,也不得不感叹现在rust-analyzer的功能真的是强大,我刚打个首字母它就知道我后面要写啥。。。其实我好多库函数名都不知道,都是它帮我敲的。。。感觉学习的时候是不是得关掉这个插件试试纯手写。。。

总结

官方教程讲的很细,不过有些内容还是得自己跟着敲一遍才能理解。还有些标准库函数更新,编译错误分析也得自己去查。总之不动手这些东西是学不出来的。今天的学习笔记就到这里了,明天继续!


感谢阅读 !

Rust学习笔记(1)

周三 2025年4月09日
457 字 · 3 分钟