Rust-获取随机数练习案例

文章目录

  • 前言
  • 一、取官网示例猜数字游戏玩一玩
    • cargo check
    • TOML文件
  • 二、完整代码
  • 总结


前言

Rust学习系列-获取随机数练习案例,基于cargo 进行案例练习,过程中会使用cargo check; cargo run;等命名,同时了解基础的let ,mut ,io,rang 库等;如何添加依赖,排除报错。🚀


一、取官网示例猜数字游戏玩一玩

我们故意不加依赖,运行 **cargo check **

fn main() {
    println!("Guess the number!");

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

    println!("The secret number is: {}", secret_number);

    println!("Please input your guess.");

    let mut guess = String::new();

    io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

    println!("You guessed: {}", guess);
}

cargo check

cargo check 是一个 Rust 语言的命令行工具,用于快速检查项目的语法错误和类型错误,而无需进行编译和构建整个项目。

使用 cargo check 可以加快错误检查的速度,因为它只进行语法和类型检查,并不会生成可执行文件或库。这样可以在编写代码的过程中及时捕捉到可能的错误,而无需等待编译和构建的时间。

与 cargo build 不同的是,cargo check 不会生成可执行文件或库,因此它更适合用于快速检查代码,而不是进行最终的编译和构建。它通常用于开发过程中,在运行测试或调试代码之前进行快速检查,以确保代码的正确性。

要使用 cargo check,只需在项目根目录下运行命令:cargo check。它会检查项目中的所有文件,并输出可能的错误信息和建议。

总结起来,cargo check 是一个可以快速检查 Rust 项目的语法和类型错误的命令行工具,它提供了一种快速检查代码错误的方式,无需进行完整的编译和构建过程。它在开发过程中很有用,可以及时发现问题并进行修复。

不出所料,缺少依赖。那么依赖怎么加呢?
在这里插入图片描述
就在这个后缀.toml, 提示一个× 还写着0.8.5 那就改为 0.85 结果不报错了。
在这里插入图片描述

TOML文件

后缀为.toml的文件是一种配置文件,使用TOML(Tom’s Obvious, Minimal Language)语法来表示和存储配置信息。TOML是一种易于阅读和编写的配置文件格式,旨在成为几乎所有编程语言中的通用配置格式。

TOML文件的结构相对简单,由键值对组成,可以使用基本数据类型(如字符串、整数、浮点数)来表示值,还可以使用表(table)来表示嵌套和分组的配置。

.TOML文件的优势包括:

  1. 易于阅读和编写:TOML文件采用类似INI文件的格式,非常易于理解和修改。

  2. 通用性:TOML可以在多种编程语言中使用,因此可以在不同的项目和系统中共享和重用配置。

  3. 嵌套和分组:TOML文件支持嵌套和分组的配置,可以更好地组织和管理配置信息。

  4. 注释:TOML文件支持注释,可以在配置文件中添加说明和备注。

  5. 类型推断:TOML文件可以根据值的格式自动推断数据类型,无需显式指定类型。

TOML文件通常用于配置应用程序、服务器和各种软件工具的设置。它提供了一种简单且易于理解的方式来定义和管理各种配置选项。

其中,我们用到io,点击报错提示如下,还给了解决方案。
use std::io
在这里插入图片描述
类似我们根据报错引入依赖。 cargo check 通过后,我们cargo run 就运行程序。
成功获取一个随机数🌲 ✌🏻

在这里插入图片描述

二、完整代码

use std::io;
use rand::Rng;
fn main() {
    
    println!("Guess the number!");

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

    println!("The secret number is: {}", secret_number);

    println!("Please input your guess.");

    let mut guess = String::new();

    io::stdin()
        .read_line(&mut guess)
        .expect("Failed to read line");

    println!("You guessed: {}", guess);
    
}

总结

基于cargo 进行获取随机数的案例练习,过程中会使用cargo check; cargo run;等命名,同时了解基础的let ,mut ,io,rang 库等;如何添加依赖,排除报错。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/372938.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

flask_django_python五金电商网络营销的可视化分析研究

前面部分完成了系统需求分析,了解到新闻数据业务方面的需求,系统主要分为用户管理、五金信息管理、在线留言、系统管理等功能。销的可视化研究,并对这些数据进行处理, 然后对这些数据进行可视化分析和统计。 Python 爬虫技术目前来…

linux免密登录的实现

ssh免密登录使用方便,关键没有了口令验证反倒规避了暴力破解或者被探测的风险。配置得当,使用ssh免密登录更加安全。在生产环境中应用和数据库服务器之间互相设置后使用方便,并且在第三方人员配置使用时不用告知对方密码。 第一步、ssh登录发…

如何在HA智能家居系统中添加HACS集成并实现异地控制家中苹果与小米设备

文章目录 基本条件一、下载HACS源码二、添加HACS集成三、绑定米家设备 ​ 上文介绍了如何实现群晖Docker部署HomeAssistant,通过内网穿透在户外控制家庭中枢。本文将介绍如何安装HACS插件商店,将米家,果家设备接入 Home Assistant。 基本条件…

第十三篇【传奇开心果系列】Python的OpenCV库技术点案例示例:光流估计

传奇开心果短博文系列 系列短博文目录Python的OpenCV库技术点案例示例:光流估计短博文目录前言一、光流估计介绍二、Lucas-Kanade光流介绍和示例代码三、Horn-Schunck光流介绍和示例代码四、cv::calcOpticalFlowPyrLK()函数实现光流估计介绍和示例代码五、光流估计用于运动分析…

Express框架介绍—node.js

Express—Node.js 官网传送门(opens new window) 基于 Node.js 平台,快速、开放、极简的 Web 开发框架 Express 是用于快速创建服务器的第三方模块。 Express 初体验 基本使用 安装 Express: npm install express创建服务器,监听客户端请…

瑞萨RA6M3开发实践指南-UART实践

1.背景说明 本文是参考瑞萨RA6M3开发实践指南文章教程,基于瑞萨HMI-Board BSP :1.1.1 版本 RT-Thread 5.0.1 版本操作步骤进行记录,整理成的文档。 1.1 本章内容 使用RT-Thread Studio创建开发板的程序,编写UART的程序,实现串口…

跟着pink老师前端入门教程-day19

一、移动WEB开发之流式布局 1、 移动端基础 1.1 浏览器现状 PC端常见浏览器:360浏览器、谷歌浏览器、火狐浏览器、QQ浏览器、百度浏览器、搜狗浏览器、IE浏览器。 移动端常见浏览器:UC浏览器,QQ浏览器,欧朋浏览器&#xff0…

Yolo v8 进行对象数量统计示例

Yolo v8 进行对象数量统计示例 示例代码 from ultralytics import YOLO from ultralytics.solutions import object_counter import cv2def object_count_test():# 权重文件,可替换为自己训练的权重文件model YOLO("yolov8n.pt")# results model.trai…

【码农新闻】 用HTTPS,还能被查出浏览记录吗 常用且好用的在线工具......

目录 【码农新闻】 用HTTPS,还能被查出浏览记录吗 常用且好用的在线工具...... 用HTTPS,还能被查出浏览记录吗常用且好用的在线工具尤雨溪 文章所属专区 码农新闻 欢迎各位编程大佬,技术达人,以及对编程充满热情的朋友们&#xf…

锁优化的方法

减少锁持有时间 减少锁粒度 将大对象拆分成小对象,增加并行度,降低锁竞争。ConcurrentHashMap允许多个线程同 时进入 锁分离 根据功能进行锁分离ReadWriteLock在读多写少时,可以提高性能。 锁消除 锁消除是发生在编译器级别的一种锁优化…

C语言数组练习以及场景练习题

写了那么久的知识点梳理,今天来写点自己觉得不错的练习题来分享,顺便来巩固自己的知识点,和加强题型的解决方法的记忆。今天给大家带来的有数组的找数字题目,以及场景找凶手的题目,下面让我们来看看今天的第一道题目。…

一文带你读懂编码和解码

编码和解码 编码:将字符转换为对应的二进制序列的过程叫做字符编码。 解码:将二进制序列转换为对应的字符的过程叫做字符解码。 py文件的创建: 文本编辑器在内容没有保存前,内容以编辑器默认编码形式保存在内存中。pycharm默认…

我要成为嵌入式高手之2月4、5日Linux高编第二天!!

读写函数接口 1、fgetc 语法&#xff1a; 功能&#xff1a;从流中获取一个字符 练习1&#xff1a;编写程序统计文件的行数 #include <stdio.h>int main(void) {FILE *fp NULL;char ch 0;int row 0;fp fopen("file.txt","r");if (NULL fp){pe…

5 分钟让你了解什么是搜索引擎

文章目录 搜索引擎概述基于业务模式分类垂直搜索&#xff08;垂搜&#xff09;通用搜索&#xff08;通搜&#xff09;本地搜索引擎 基于技术实现分类基于关键词的搜索引擎&#xff08;Keyword-based Search Engine&#xff09;语义搜索引擎&#xff08;Semantic Search Engine&…

好用的大学生教材搜题软件?帮助大学生解决问题的实用搜题工具 #知识分享#知识分享#经验分享

对于大学生来说&#xff0c;每天面对各式各样的学习任务和问题&#xff0c;寻找合适的学习资源和工具成了我们的迫切需求。幸运的是&#xff0c;现如今有许多高效且实用的日常搜题和学习软件可以满足我们的需求&#xff0c;助力我们取得更好的学习成果。 1.Forest专注森林 Fo…

力扣:42. 接雨水 84.柱状图中最大的矩形(单调栈,双指针)

这两道题解题思路类似&#xff0c;一个是单调递增栈&#xff0c;一个是单调递减栈。本篇博客给出暴力&#xff0c;双指针和单调栈解法。 42. 接雨水 题目&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后…

CIFS(Samba)服务的使用

理论部分 概念&#xff1a; 通用互联网文件系统CIFS使用的是公共的或者开放的SMB协议版本。SMB是在会话层和表示层以及小部分应用层上的 协议&#xff0c;使用了NetBIOS的应用程序接口API。该协议在局域网上用于服务器文件访问和打印。它使用客户/服务器模式&#xff0c;客 户…

ffmpeg的使用,安装,抽帧,加水印,截图,生成gif,格式转换,抓屏等

实际使用中总结的关于ffmpeg对视频的处理的记录文档 具体信息&#xff1a; http://ffmpeg.org/download.html 官网下载ffmpeg 关于ffmpeg的安装详细步骤和说明 装ffmpeg 方式,Linux和windows下的 http://bbs.csdn.net/topics/390519382 php 调用ffmpeg , http://bbs.csdn.net/t…

【算法】利用递归dfs解决二叉树算法题(C++)

文章目录 1. 前言2. 算法题2331.计算布尔二叉树的值129.求根节点到叶节点数字之和LCR047.二叉树剪枝98.验证二叉搜索树230.二叉搜索树中第K小的元素257.二叉树的所有路径 1. 前言 有关 递归 的相关解释与解题 请看下文&#xff1a; 以汉诺塔理解递归、并用递归解决算法题 对于…

关于Linux和消息队列常见的十道面试题

实际工作中如何排查CPU飙升问题&#xff1f; 在实际工作中&#xff0c;我们可以通过以下步骤来排查CPU飙升的问题&#xff1a; 使用系统监控工具&#xff1a;首先&#xff0c;我们可以使用系统监控工具&#xff0c;如top命令&#xff0c;来查看所有进程占系统CPU的排序。这样可…