当前位置: 首页 > news >正文

要制作自己的网站需要什么材料优化营商环境心得体会

要制作自己的网站需要什么材料,优化营商环境心得体会,网站建设公司合同模板,威海网站建设whhl如果你正在学习Rust,并且想通过一个有趣的小项目来巩固所学知识,那么“猜数字游戏”是一个绝佳的选择!这个游戏的逻辑非常简单:程序会随机生成一个数字,玩家需要猜测这个数字是多少,程序会告诉玩家猜大了还…

如果你正在学习Rust,并且想通过一个有趣的小项目来巩固所学知识,那么“猜数字游戏”是一个绝佳的选择!这个游戏的逻辑非常简单:程序会随机生成一个数字,玩家需要猜测这个数字是多少,程序会告诉玩家猜大了还是猜小了,直到猜中为止。

通过这个项目,你将学习到Rust的以下核心概念:

  • Cargo:Rust的构建工具和包管理器。
  • let:用于声明变量。
  • match:用于模式匹配。
  • method:方法,与特定类型关联的函数。
  • fn:函数,可重用的代码块。
  • crate:如何引入第三方库。

让我们一步步来实现这个游戏吧!


1. 游戏逻辑

猜数字游戏的逻辑非常简单:

  1. 程序随机生成一个1到100之间的数字。
  2. 玩家输入一个数字作为猜测。
  3. 程序比较玩家的猜测和生成的数字:
    • 如果猜对了,游戏结束,程序恭喜玩家。
    • 如果猜错了,程序会告诉玩家猜大了还是猜小了,然后让玩家继续猜。
  4. 重复步骤2和3,直到玩家猜中为止。

2. 创建项目

首先,使用Cargo创建一个新项目:

cargo new guessing_game
cd guessing_game

这会生成一个名为guessing_game的项目,并自动创建Cargo.tomlsrc/main.rs文件。


3. 编写代码

打开src/main.rs文件,开始编写代码。

(1)引入外部crate

我们需要使用rand库来生成随机数。在Cargo.toml文件中添加以下内容:

[dependencies]
rand = "0.8"

然后运行cargo build,Cargo会自动下载并编译rand库。

也可以直接在命令行中使用命令cargo add rand来添加最新版本的rand包。

使用最新版本的包时可能会遇见提示某些函数已过期的提示,可自行修改或者参考本专栏源码仓库Waitfish/rust_example。
thread_rnggen_range在新版本的rand包中已经改名,根据提示改成新的包名即可。

(2)编写主程序

src/main.rs中编写以下代码:

use rand::Rng;
use std::cmp::Ordering;
use std::io;fn main() {println!("猜数字游戏!");// 生成一个1到100之间的随机数let secret_number = rand::thread_rng().gen_range(1..=100);loop {println!("请输入你的猜测:");// 创建一个可变的字符串变量来存储用户的输入let mut guess = String::new();// 读取用户输入io::stdin().read_line(&mut guess).expect("读取输入失败");// 将输入的字符串转换为数字let guess: u32 = match guess.trim().parse() {Ok(num) => num,Err(_) => {println!("请输入一个有效的数字!");continue;}};println!("你猜的是:{}", guess);// 比较猜测的数字和生成的数字match guess.cmp(&secret_number) {Ordering::Less => println!("太小了!"),Ordering::Greater => println!("太大了!"),Ordering::Equal => {println!("恭喜你,猜对了!");break;}}}
}

4. 代码解析

(1)Cargo
  • 我们使用Cargo创建项目,并通过Cargo.toml管理依赖(如rand库)。
(2)let
  • let用于声明变量。例如:

    let secret_number = rand::thread_rng().gen_range(1..=100);
    

    这里声明了一个不可变的变量secret_number,存储生成的随机数。

  • 如果要声明可变变量,需要使用mut关键字:

    let mut guess = String::new();
    
(3)match
  • match用于模式匹配。例如:
    match guess.cmp(&secret_number) {Ordering::Less => println!("太小了!"),Ordering::Greater => println!("太大了!"),Ordering::Equal => {println!("恭喜你,猜对了!");break;}
    }
    
    这里根据guesssecret_number的比较结果,执行不同的操作。
(4)method: 方法
  • 方法是与特定类型关联的函数。例如:
    guess.trim().parse()
    
    trim()String类型的方法,用于去除字符串两端的空白字符。
(5)fn: 函数
  • 函数是可重用的代码块。例如:
    fn main() {// 主函数
    }
    
    main函数是程序的入口点。
(6)使用外部crate
  • 我们通过rand库生成随机数:
    let secret_number = rand::thread_rng().gen_range(1..=100);
    

5. 运行游戏

在项目目录中运行以下命令:

cargo run

然后根据提示输入你的猜测,看看能否猜中随机生成的数字!


6. 总结

通过这个简单的猜数字游戏,我们学习了Rust的以下核心概念:

  • Cargo:管理项目和依赖。
  • let:声明变量。
  • match:模式匹配。
  • method 方法:与类型关联的函数。
  • fn 函数:可重用的代码块。
  • 外部crate:引入第三方库。

希望这个小项目能帮助你更好地理解Rust的基础知识。接下来,你可以尝试扩展这个游戏,比如增加难度、记录猜测次数等。Happy Coding!🚀


参考资源

  • Rust官方猜数字游戏教程
  • Rust官方文档
http://www.tj-hxxt.cn/news/30638.html

相关文章:

  • 网站解决方案热搜榜上2023年热门话题
  • 重庆b2c网站制作艾滋病阻断药有哪些
  • 网站备案 湖北数据分析师35岁以后怎么办
  • 上哪个网站做forma和coseo自动点击排名
  • 网站升级页面模板seo基础知识包括什么
  • 网页设计与制作作业代码页面优化的方法有哪些
  • 做国外搞笑网站有哪些百度引擎搜索
  • 网站建设公司赚钱吗app香港账号
  • 广州做网站市场衡阳seo优化首选
  • 怎做卖东西的网站如何做品牌宣传与推广
  • 前端开发做网站吗河源网站seo
  • h5响应式网站模板青岛网站优化公司哪家好
  • 专业网站建设在哪里加强服务保障满足群众急需i
  • 在家有电脑怎么做网站企业网站模板
  • 网站建设 发展方向seo和sem的区别
  • 哪里有专门做网站的谷歌浏览器 安卓下载2023版官网
  • 怎么做好营销推广成都官网seo服务
  • 网页游戏赚钱平台有哪些上海seo顾问
  • sitemix wordpress搜索引擎优化的方法与技巧
  • 站群类网站开发seo1视频发布会
  • 开发区经济建设网站东营百度推广公司
  • 网站建设期末作业免费开通网站
  • 一个人网站运营怎么做什么是网络营销推广
  • 网站设计 注意打开2345网址大全
  • 一般卖机械行业的做哪些网站线上推广平台报价
  • 中山市最新疫情手机游戏性能优化软件
  • 门户网站开发公司百度招聘官网首页
  • 开源程序网站亚马逊关键词优化软件
  • 网站建设教程免费夕滋湖南岚鸿官网奖券世界推广网站
  • 西安市政道桥建设公司网站广告公司推广