包管理器

收藏170

阅读11490

更新时间2025-08-27

Cargo 是 RUST 的包管理器。 这就像一个工具并管理 Rust 项目。

下表列出了一些常用的cargo命令 −

Sr.No 命令与描述
1

cargo build

编译当前项目。

2

cargo check

分析当前项目并报告错误,但不构建目标文件。

3

cargo run

构建并执行 src/main.rs。

4

cargo clean

删除目标目录。

5

cargo update

更新 Cargo.lock 中列出的依赖项。

6

cargo new

创建一个新的 cargo 项目。

Cargo 帮助下载第三方库。 因此,它的作用就像一个包管理器。 您还可以构建自己的库。 安装 Rust 时默认安装 Cargo。

要创建一个新的 Cargo 项目,我们可以使用下面给出的命令。

创建一个二进制包

cargo new project_name --bin

创建一个库 crate

cargo new project_name --lib

要检查Cargo的当前版本,请执行以下命令 −

cargo --version

示例 - 创建 Binary Cargo 项目

游戏生成一个随机数并提示用户猜测该数字。

第 1 步 - 创建项目文件夹

打开终端并输入以下命令 cargo newguess-game-app --bin

这将创建以下文件夹结构。

guess-game-app/
   -->Cargo.toml
   -->src/
      main.rs

cargo new 命令用于创建一个 crate。 --bin 标志表示正在创建的 crate 是二进制 crate。 公共 crate 存储在名为 crates.io https://crates.io/ 的中央存储库中。

第 2 步 - 包含对外部库的引用

这个例子需要生成一个随机数。 由于内部标准库不提供随机数生成逻辑,因此我们需要查看外部库或 crate。 让我们使用 rand crate,可以在 crates.io 网站 crates.io 上找到

https://crates.io/crates/rand 是一个用于生成随机数的 Rust 库。 Rand 提供了生成随机数、将其转换为有用的类型和分布的实用程序,以及一些与随机性相关的算法。

下图显示了 crate.io 网站和 rand crate 的搜索结果。

外部库

将 rand crate 的版本复制到 Cargo.toml 文件 rand = "0.5.5"

[package]
name = "guess-game-app"
version = "0.1.0"
authors = ["Mohtashim"]

[dependencies]
rand = "0.5.5"

第 3 步:编译项目

导航到项目文件夹。 在终端窗口上执行命令cargo build

Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rand v0.5.5
Downloading rand_core v0.2.2
Downloading winapi v0.3.6
Downloading rand_core v0.3.0
   Compiling winapi v0.3.6
   Compiling rand_core v0.3.0
   Compiling rand_core v0.2.2
   Compiling rand v0.5.5
   Compiling guess-game-app v0.1.0 
   (file:///E:/RustWorks/RustRepo/Code_Snippets/cargo-projects/guess-game-app)
   Finished dev [unoptimized + debuginfo] target(s) in 1m 07s

rand crate 和所有传递依赖项(rand 的内部依赖项)将自动下载。

第 4 步 - 了解业务逻辑

现在让我们看看猜数字游戏的业务逻辑是如何工作的 −

  • 游戏最初会生成一个随机数。

  • 要求用户输入内容并猜测数字。

  • 如果数字小于生成的数字,则打印消息"Too low"。

  • 如果数字大于生成的数字,则会打印一条消息"Too high"。

  • 如果用户输入程序生成的数字,游戏就会退出。

第 5 步 - 编辑 main.rs 文件

将业务逻辑添加到 main.rs 文件中。

use std::io;
extern crate rand; 
//导入外部 crate
use rand::random;
fn get_guess() -> u8 {
   loop {
      println!("Input guess") ;
      let mut guess = String::new();
      io::stdin().read_line(&mut guess)
         .expect("could not read from stdin");
      match guess.trim().parse::(){ //请记住修剪输入以避免输入空格
         Ok(v) => return v,
         Err(e) => println!("could not understand input {}",e)
      }
   }
}
fn handle_guess(guess:u8,correct:u8)-> bool {
   if guess < correct {
      println!("Too low");
      false

   } else if guess> correct {
      println!("Too high");
      false
   } else {
      println!("You go it ..");
      true
   }
}
fn main() {
   println!("Welcome to no guessing game");

   let correct:u8 = random();
   println!("correct value is {}",correct);
   loop {
      let guess = get_guess();
      if handle_guess(guess,correct){
         break;
      }
   }
}

第 6 步 - 编译并执行项目

在终端上执行命令cargo run。 确保终端指向项目目录。

Welcome to no guessing game
correct value is 97
Input guess
20
Too low
Input guess
100
Too high
Input guess
97
You got it ..

相关

视频

RELATED VIDEOS

更多

免费

phpStudy极速入门视频教程

免费

Midjourney基础课程
初级 Midjourney基础课程

11149次学习

收藏

免费

极客学院Git使用视频教程

免费

尚观shell视频教程
高级 尚观shell视频教程

15709次学习

收藏

免费

尚观Linux入门视频教程
初级 尚观Linux入门视频教程

42887次学习

收藏

免费

尚观Linux初级视频教程
初级 尚观Linux初级视频教程

40264次学习

收藏

免费

尚观Linux中级视频教程
中级 尚观Linux中级视频教程

48298次学习

收藏

免费

尚观Linux高级视频教程
高级 尚观Linux高级视频教程

41982次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号