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

news2024/10/7 8:22:49

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"

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CS224N第一课作业--词向量与共现矩阵

文章目录 Word Vectors1. import repos2. Read corpus and calculate co-occurrence matrices2-1 read_corpus2-2 vocabulary2-3 co occurrence matrices2-4. dimensionality reduction完整性检查 3. Prediction-Based Word Vectors余弦相似度 Word Vectors 1. import repos …

计算机网络——33多点访问协议

多点访问协议 多路访问链路和协议 两种类型的链路(一个子网内部链路连接形式) 点对点 拨号访问的PPP以太网交换机和主机之间的点对点链路 广播 传统以太网HFC上行链路802.11无线局域网 多路访问协议 单个共享的广播型链路 2个过更多结点同时传送&am…

使用pillow创建动态图形验证码

使用pillow创建动态图形验证码 #安装pillow模块:pip3 install pillow from PIL import Image,ImageDraw,ImageFont import random import stringdef id_code(width,height,bit,font_file,font_size):"""功能:生成随机图片验证码:param w…

Linux基本指令篇

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

项目级AIMS手术麻醉信息系统源码,C#手麻系统源码,应用案例+演示

手术麻醉信息系统可以实现手术室监护仪、麻醉机、呼吸机、输液泵等设备输出数据的自动采集,采集的数据能据如实准确地反映患者生命体征参数的变化,并实现信息高度共享,根据采集结果,综合其他患者数据,自动生成手术麻醉…

U8二次开发-钉钉集成

钉钉开放平台作为企业沟通和协作的重要工具,其技术的每一次迭代都为企业带来了新的机遇和挑战。随着企业对于高效沟通和智能化管理的需求日益增长,钉钉平台的SDK更新显得尤为重要。把传统的U8与钉钉平台集成,可以有效的将业务功能和角色进行前移,打破应用系统二八原则,即8…

第三方系统自动登录BBS For Discuz! X3.4/X3.5

apache安装 service apache2 restart PHP安装 php.info php.ini mysql安装 Discuz! X3.4/X3.5安装 跳转BBS 传参 写入BBS 登录BBS

一文教会女朋友学会日常Git使用!Git知识总结

文章目录 一文教会女朋友学会日常Git使用!Git知识总结一、git基本知识了解1.git简介2.git区域了解3.git常用命令 二、常用工作场景1.克隆远程仓库,把仓库代码拉到本地2.推送代码到远程仓库(1)本地代码和远程仓库版本相同&#xff…

GCNet: 非局部网络与挤压-激励网络的融合与超越

摘要 非局部网络(NLNet)通过为每个查询位置聚合特定于查询的全局上下文,为捕获长距离依赖关系提供了一个开创性的方法。然而,经过严格的实证分析,我们发现非局部网络所建模的全局上下文在图像中的不同查询位置几乎相同…

分享 5 个提高技术领导力的技巧

技术领导力于很多人而言都是谜一般的存在。有观点认为,实战经验丰富的资深开发最终只有成为技术管理者才能继续成长。从某些方面来看,这可能是对的,但考虑到公司结构和规章制度等,想要完成从「个人贡献者」到「技术管理者」的跨越…

ModuleNotFoundError: No module named ‘utils.utils pytorch项目报错

首先呢会报错是因为引入的问题 代码是这样的但是sys.path.append的功能仅限当前的目录 sys.path.append("..") from utils.utils import MyDataset, validate, show_confMat应该加下面的文件路径 sys.path.append("..") from Code.utils.utils import My…

基于8086七路抢答器倒计时仿真设计

**单片机设计介绍,基于8086七路抢答器倒计时仿真设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的七路抢答器倒计时仿真设计是一个结合了微处理器控制、抢答逻辑以及倒计时功能的综合性项目。该系统能够模拟七路抢…

【树状数组专题】【蓝桥杯备考训练】:数星星、动态求连续区间和、一个简单的整数问题、一个简单的整数问题2【已更新完成】

目录 1、数星星(《信息学奥赛一本通》 & ural 1028) 思路: 基本思路: 树状数组经典三函数: 1、lowbit()函数 2、query()函数 3、add()函数 最终代码: 2、动态求连续区间和(《信息学奥赛一本…

智能仪器替代技术工程师重复工作 专注生产方案优化!

关键词:智能仪器,测径仪,测宽仪,测厚仪,直线度测量仪 在当今竞争激烈的市场环境下,企业需要不断提高生产效率和质量,以满足客户的需求。而技术工程师在生产过程中扮演着至关重要的角色,但他们的时间和精力往往被重复的工作所占据&…

FPGA寄存器 Vivado IP核

1. 今日任务 小梅哥视频:21A 认识并理解FPGA中的存储器模型_哔哩哔哩_bilibili 21B 学习使用Vivado中的存储器资源_哔哩哔哩_bilibili 2. FPGA中的存储器类型 只读ROM eg.CMOS摄像头初始化、DDS信号发生器(固定波形数据的…

docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。 Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据…

【NOI】树 2164 - 子结点的数量 2165 - 子结点的数量(2)1775 - 谁的孙子最多1776 - 谁的孙子最多II

文章目录 问题一:2164 - 子结点的数量问题二:2165 - 子结点的数量(2)问题三:1775 - 谁的孙子最多问题四:1776 - 谁的孙子最多II 问题一:2164 - 子结点的数量 类型:树 题目描述&…

mysql 故障排除与优化

目录 一 mysql 逻辑架构图 二 msql单实例常见故障 1, 故障一 2, 故障二 3, 故障三 4, 故障四 5, 故障五 6, 故障六 7, 故障七 8, 故障八 三 mysql 主从环境常见故障 1, 故障一 2, 故障二 3, 故障三 四 mysq 常见优化 1,硬件优化…

校园二手书交易|基于springboot的校园二手书交易设计与实现(附项目源码+论文)

基于springboot校园二手书交易平台的设计与实现 目录 基于springboot校园二手书交易平台的设计与实现 一、摘要 二、相关技术 java、tomcat、mysql、spring、sprigBoot、mybatis、query、vue 三、系统设计 3.1 整体功能设计图 3.2 功能具体细节设计 四、数据库设计 五…

砍树c++

题目&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; long long n,m,a[100000005]; bool jltm(int x){long long sum0;for(int i1;i<n;i){if(a[i]>x) sumsuma[i]-x;}//计算此时锯片高度砍掉的木材if(sum>m) return 1;else return 0…