RUST使用crates.io上的依赖完整教程

1.打开crates.io

2.搜索要使用的依赖,如rand

 点击包名,进入包详情页面:  添加依赖方法有两种

1.使用cargo命令    2.直接修改Cargo.toml

使用cargo命令操作如下:

在工程目录执行如下命令:

cargo add rand

 执行完成后如自动向Cargo.toml中添加依赖如下:

手动修改Cargo.toml是一样的效果:

打开工程目录找到Cargo.toml并打开,在[dependencies]下添加:

rand = "0.8.5"

 3.执行cargo build 下载依赖到本地

在工程当前目录输入cargo build

下载后,在项目外部库中可看到rand 0.8.5

 

4.在源码文件.rs中使用外部库的函数

 

函数执行结果: 

 

完整示例代码: main.ts

use std::io;//引用标准库
use rand::Rng;//引用crates.io上的rand库
use std::cmp::Ordering;//引用标准库

fn main() {
    println!("猜数字:");
    //生成1到100之间随机数字
    let rng_num = rand::thread_rng().gen_range(1..=100);
    println!("随机生成的数字:{rng_num}");//格式化输出
    println!("1+2={}",1+2);//格式化输出

    //增加循环操作
    loop {
        //获取输入
        println!("请输入一个数字:");
        let mut n = String::new();
        io::stdin().read_line(&mut n).expect("从输入流读取行失败");
        println!("你输入的数字是:{n}");
        //转换输入为整数
        let i:u32 =match n.trim().parse(){
            Ok(x) => x,
            Err(_) => continue //继续
        };
        //比较输入数字与随机生成数字
        match i.cmp(&rng_num) {
            Ordering::Less => println!("输入数字比随机数小"),
            Ordering::Greater => println!("输入数字比随机数大"),
            Ordering::Equal =>{
                println!("输入数字比随机数相等,你猜中了");
                break;
            }
        }
    }

}

 Cargo.toml

[package]
name = "my_rust_game"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
# 依赖crates.io上的rand库
rand = "0.8.5"

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

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

相关文章

社交媒体:12种打造吸引力社交媒体内容的方法

社交媒体在当代社会中扮演着重要的角色,越来越多的人利用社交媒体与朋友、家人和同事保持联系。为了在这个竞争激烈的环境中脱颖而出,我们需要学会如何创建吸引人的内容。本文将介绍12种方法,帮助您在社交媒体上打造引人注目的内容。 1. 挑选…

2024资源环境、材料科学与可持续发展国际会议(RESMSSD2024)

2024资源环境、材料科学与可持续发展国际会议(RESMSSD2024) 会议简介 随着人类对地球资源的不断开发和环境问题的日益严重,资源环境、材料科学与可持续发展成为了全球关注的焦点。为了进一步推动相关领域的发展和创新,2024资源环境、材料科学与可持续发…

Electron的学习

目录 项目初始化可以看官网非常详细根路径创建.vscode文件夹主进程和渲染进程之前的通信ipcRenderer.send和ipcMain.on的使用ipcRenderer.invoke和ipcMain.handle的使用 切换主题模式文件拖放保存消息通知进度展示图标闪烁自定义菜单自定义右键菜单 项目初始化可以看官网非常详…

简单的登录页面

简单的登录页面 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {margin: 0;padding: 0;}html {height: 100%;}body {height: 100%;}.container {height: 100%;ba…

jspm智能仓储系统

摘 要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;智能仓储系统当然也不能排除在外。智能仓储系统是以实际运用为开发背景&#xff0c;运用软件工程开发方法&#xff0c;采…

jenkins进行自动化部署

jenkins自动化部署 hello&#xff0c;大家好&#xff0c;前文我们已经下载好我们的jenkins了&#xff0c;下面我们用jenkins来实现自动化部署啦&#xff01; 一、下载插件 我们选择插件管理 一个是Maven Integration plugin&#xff0c;一个是 Publish Over SSH 这里因为作…

让工作自动化起来!无所不能的Python

让工作自动化起来&#xff01;无所不能的Python 一、Python是办公自动化的重要工具二、Python是提升职场竞争力的利器三、Python是企业数字化的重要平台四、Python是AI发展的重要通道之一内容简介作者简介前言读者对象如何阅读本书购买链接参与方式 随着我国企业数字化和信息化…

DC-9靶场

一.环境搭建 1.下载地址 靶机下载地址&#xff1a;https://download.vulnhub.com/dc/DC-9.zip 2.虚拟机配置 设置虚拟机为nat&#xff0c;遇到错误点重试和是 开启虚拟机如下图所示 二.开始渗透 1. 信息收集 查找靶机的ip地址 arp-scan -l 发现靶机的ip地址为192.168.11…

● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

● 435. 无重叠区间 class Solution:def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int:if len(intervals)1:return 0intervalssorted(intervals,keylambda x:(x[0],x[1]))res0for i in range(1,len(intervals)):if intervals[i][0]<intervals[i-1][…

KUKA机器人更改时间和HMI最小化设置

在使用 KUKA 机器人时&#xff0c;示教器上左边有个“表”的图标&#xff0c;点一下就会显示时间。但一般不准&#xff0c;想要更改时间可以通过HMI最小化后进行更改设置。更改时间需要将示教器界面最小化&#xff0c;也就是进入Windows 界面。通过以下步骤可以进行设置&#x…

自定义口令加入群聊怎么弄?用词令关键词直达口令加入微信群延长群二维码7天有效方法

微信口令加入群聊有二种方式 一、微信面对面建群 微信面对面建群的方式适合现实中的朋友之间相互认识且想要建立群聊的场景。微信面对面建群口令加入群聊的有效距离是在几十米范围内&#xff0c;因此只能是附近几十米范围内的人&#xff0c;正确输入微信面对面建群口令后才可…

Linux---多线程(下)

前情提要&#xff1a;Linux---多线程(上) 七、互斥 临界资源&#xff1a;多线程执行流共享的资源就叫做临界资源临界区&#xff1a;每个线程内部&#xff0c;访问临界资源的代码&#xff0c;就叫做临界区互斥&#xff1a;任何时刻&#xff0c;互斥保证有且只有一个执行流进入临…

雪王涨价?媒介盒子揭秘它的圈粉秘籍

最近蜜雪冰城又又又站上风口浪尖了&#xff0c;起因是有网友发现部门门店涨了一块钱。 随着舆论发酵越来越快&#xff0c;蜜雪冰城回应了问题&#xff0c;表示涨价属实&#xff0c;目前只在上海试行。 原本产品的涨价或降价都是经营常态&#xff0c;为什么蜜雪冰城的涨价能引起…

164.乐理基础-和声小调、旋律小调

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;163.自然小调、音名为何从C开始 首先是小调式里的和声小调 和声小调就是在自然小调的基础上&#xff0c;把自然小调的第Ⅶ级音升高一个半音&#xff0c;它的内部规则是 全半全全半增二半 带上首调 和声小调只有一个…

react 面试题(2024 最新版)

1. 对 React 的理解、特性 React 是靠数据驱动视图改变的一种框架&#xff0c;它的核心驱动方法就是用其提供的 setState 方法设置 state 中的数据从而驱动存放在内存中的虚拟 DOM 树的更新 更新方法就是通过 React 的 Diff 算法比较旧虚拟 DOM 树和新虚拟 DOM 树之间的 Chan…

无人驾驶(移动机器人)路径规划之A star(Tie Breaker)算法及其matlab实现

在自动驾驶与移动机器人路径规划时&#xff0c;必定会用到经典的算法A star。下面是我未加入与加入Tie Breaker 的matlab实现效果。可以发现加入Tie Breaker之后效果明显改善。 目录 一、效果比较 1.未加入Tie Breaker&#xff08;黑色为障碍物&#xff0c;菱形绿色为目标点…

Ubuntu joystick 测试手柄 xbox

Ubuntu joystick 测试手柄 xbox 测试使用Ubuntu20.04 测试环境在工控机 安装测试 实际测试使用的手柄是北通阿修罗2pro 兼容xbox Ubuntu20.04主机 连接手柄或者无线接收器后查看是否已经检测到&#xff1a; ls /dev/input找到输入中的 js0 即为手柄输入 需要安装joysti…

Linux基本指令篇

在前边&#xff0c;我们已经了解过了Linux操作系统的发展和应用&#xff0c;从该篇起&#xff0c;就正式进入对Linux的学习。 今天我们就来在Xshell上远程登录我们的云服务器。首先我们要知道自己云服务器的公网ip&#xff0c;然后修改一下密码。 点击跳转 修改完密码之后我们…

【Emgu CV教程】10.10、PointPolygonTest()判断点是否在轮廓内部

文章目录 一、函数介绍二、演示1.原始素材2.代码3.运行结果 一、函数介绍 PointPolygonTest()函数&#xff0c;俗称“点多边形检测”&#xff0c;是Emgu.CV中学习计算点到轮廓的距离&#xff0c;函数官方定义如下 public static double PointPolygonTest(IInputArray contour…

SpringSecurity学习总结(三更草堂)

SpringSecurity安全框架的核心功能是认证和授权&#xff1a; 认证&#xff1a;验证当前访问系统的是不是本系统的用户&#xff0c;并且要确认具体是哪个用户。 授权&#xff1a;经过认证后判断当前用户是否具有进行某个操作的权限。 一般来说中大型的项目都是使用SpringSecurit…