0
点赞
收藏
分享

微信扫一扫

【Rust指南】配置加速Cargo下载、更新依赖库|利用随机数编写Rust猜数游戏

seuleyang 2022-08-18 阅读 87

在这里插入图片描述

文章目录

  前言

  上篇Rust指南文章讲解了使用Cargo工具创建Rust项目的方法并编写讲解了该语言的输入输出格式。那么今天详细的教大家如何将Cargo自动更新依赖库的网址从国外改到国内镜像,这样无疑加快了开发的效率,而且更改完成后会举一个猜数游戏的例子,让大家轻松掌握更多Rust语法。


一、Cargo配置问题与VSC的实用插件下载

1、解决Cargo拉取crates.io非常慢的问题

  1. 在电脑上找到.cargo文件夹
    在这里插入图片描述
  2. 进入.cargo文件夹并创建config文件(一定要按照图示操作)
    在这里插入图片描述
  3. 使用vsc打开config文件,粘贴以下代码:

在这里插入图片描述

2、VSC自动管理Rust项目的实用插件

  1. 管理配置文件:TOML Language Support
    在这里插入图片描述
  2. Rust包管理:crates
    在这里插入图片描述

二、编写Rust 的猜数游戏

1、抓取随机数的依赖库

Rust标准库里并没有生成随机数的包,因此需要利用Cargo工具拉取crates.io里的rand包:

  • 使用Cargo新建Rust 项目并在Cargo.toml的依赖标签下使用rand=“0.3.14”,开始会报错,稍等片刻Cargo会将该库拉取到该项目并可以在Cargo.lock文件中查看具体信息。
    在这里插入图片描述
  • Cargo.lock里存放已经拉取的依赖信息
    在这里插入图片描述

2、使用rand包并编写源代码

猜数游戏源码:

use std::{io, cmp::Ordering};
use rand::Rng;

fn main() {
    println!("****猜数小程序****");
    let symth =rand::thread_rng().gen_range(1, 101);
    // println!("神秘数字为:{}",symth);
    loop{
        println!("输入你猜的数字:");
        let mut guess =String::new();
        io::stdin().read_line(&mut guess).expect("读取失败");
        let guess:u32= guess.trim().parse().expect("转换错误");
       
        println!("你猜的数字为:{}",guess);
        match guess.cmp(& symth) {
            Ordering::Less => println!("Too small !"),
            Ordering::Greater=>println!("Too big !"),
            Ordering::Equal=> {
                println!("you win !");
                break;
            }
        }
    }
} 

运行效果:

在这里插入图片描述

3、Rust语法学习

解析源码中的 生成随机数、数据类型转换、match和 loop 的含义及使用

  1. 利用rand包生成随机数
let symth =rand::thread_rng().gen_range(1, 101);
  1. 类型转换
 let guess:u32= guess.trim().parse().expect("转换错误");
  1. match分支
match guess.cmp(& symth){
	Ordering::Less => ......
}
  1. loop循环
loop{
	......
	Ordering::Equal=> {
        println!("you win !");
        break;
    }
}

有关Cargo配置和Rust猜数游戏的内容到此结束,下一篇博客我们不见不散!

举报

相关推荐

0 条评论