使用 Cargo 构建 Rust 项目

Cargo 是 Rust 的构建系统和包管理器。Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。

本章讲解如何使用 Cargo 构建和管理 Cargo 项目,以及 Cargo 常用命令的使用。

 

1. Cargo 常用功能

  • cargo new <project_name> 创建 Rust 项目,项目名称为 project_name。
  • cargo build 编译 Rust 项目。
  • cargo run 运行 Rust 项目。

 

2. Cargo 项目范例

我们使用 Cargo 创建一个 Rust 项目 HelloRust,演示从创建到运行的过程:

1)创建项目 hellorust

$ cargo new hellorust --bin

查看目录结构:

$ tree
└─hellorust
----└─src

这里显示的目录结构,在 hellorust 目录下有 src 文件夹和 Cargo.toml 文件,同时这个目录会初始化为 git 项目。

查看 Cargo.toml 文件:

$ cat Cargo.toml
[package]
name = "hellorust"
version = "0.1."
authors = ["YourName "]
[dependencies]

2)编辑 src 目录下 main.rs 文件

cargo 创建的项目,在 src 目录下会有一个初始化的 main.rs 文件,内容为:

fn main() {
    println!("Hello, world!");
}

现在我们编辑这个文件,改为:

fn main() {
    let rust = "Rust";
    println!("Hello, {}!", rust);
}

这里的 let rust = "Rust" 是把 rust 变量绑定为 "Rust" , println!("Hello, {}!", rust);里把 rust 变量的值代入到 "Hello, {}!" 中的{}。

3)编译 Rust 项目

$ cargo build

# 或者
$ cargo build --release # 这个属于优化编译

4)运行 Rust 项目

$ ./target/debug/hellorust # windows 平台为 hellorust.exe
$ ./target/release/hellorust # 如果前面是优化编译,则这样运行

$ cargo run # 编译和运行合在一起
$ cargo run --release # 同上,区别是是优化编译的

Rust 是一个静态的严格数据类型的语言,每个数值都有唯一的数据类型。Rust 语言在赋值时并不强制要求指定变量的数据类型,Rust 编译器可以根据分配给它的值自动推断变量的数据类型。Rust 语言基本数据类型包括布尔型、字符型、整数型 和 浮点型。