在 Rust 中创建和使用 crates 库

小夏 科技 更新 2024-01-29

在 Rust 生态系统中,板条箱是帮助我们组织、共享和重用的模块化单元。 本文将深入探讨 Rust Crates、它的概念、结构、功能以及对 Rust 生态系统的重要性。

新手指导计划

板条箱的基本概念

在 Rust 中,crate 是库或二进制可执行文件的集合。 每个 crate 由一个文件和一个或多个 Rust 源文件组成。 该文件描述了板条箱的元数据,包括名称、版本、依赖项等。 这种结构使得 crate 很容易被其他人引用并集成到他们的项目中(通过配置文件 cargo)。toml)。

板条箱

板条箱的生命周期通常遵循以下步骤:

创建一个 crate:我们使用 cargo 工具初始化一个新的 crate,它将生成一个基本的目录结构和一个初始的 cargotoml。

编写:我们在 Crate 中编写 Rust 来实现它们的功能。 **可以包括库、可执行文件或测试。

指定依赖关系:在 cargo 中TOML 文件,我们可以指定板条箱所依赖的其他板条箱及其版本。 这些依赖项由 Cargo 管理,确保项目可以正确构建和运行。

构建和测试:使用 cargo 提供的命令,我们可以构建、测试和运行他们的 CRATE。 cargo 管理编译过程、依赖项解析和测试执行。

发布和共享:当我们认为他们的板条箱已经达到可以共享的状态时,他们可以使用货物将其发布到板条箱中io,它是 Rust 社区的官方包管理器。 其他开发商可以通过货物直接引用这些板条箱,便于共享和重用。

箱子

在 Rust 生态系统中,有两种主要类型的板条箱:

图书馆板条箱

库 crate 旨在提供可重用的功能。 它们包含一组可由其他程序引用和调用的模块和函数。 库 crate 通常用于构建可在不同项目之间共享的通用、可嵌入组件。

二元板条箱

二进制 crate 包含用于直接运行的可执行文件。 这种类型的 crate 通常用于构建独立的应用程序,而不是被其他项目引用。 Rust 的二进制 crate 可用于开发命令行工具、服务器端应用程序等。

依赖关系管理与货物

Cargo 是 Rust 的官方构建工具和包管理器,它极大地简化了 Crates 的依赖管理和构建过程。 按货物toml 文件,我们可以指定项目的依赖关系,并使用简单的命令构建、测试和运行它。

依赖关系语句

在货物中TOML,依赖关系以明确的方式声明。 这包括从属 crate 的名称、版本范围等信息。 cargo 根据这些声明自动管理依赖项,确保项目的构建过程是可重复的。

cargo.汤姆尔

dependencies]

rand = "0.8"

上述货物TOML 是对依赖于常用随机数生成器的库的引用,其版本指定为"0.8"。Cargo 将负责 ** 并将此板条箱集成到项目中。

生成和测试

Cargo 提供了一系列用于构建、测试和运行 Rust 项目的命令。 最常见的包括:

cargo build:编译项目。

cargo test:运行测试。

cargo run:构建并运行可执行文件。

这些命令使开发人员能够轻松管理其项目的生命周期并确保质量和稳定性。

crates.io:Rust 生态系统的中心

crates.IO 是 Rust 生态系统的集中式包存储库。 在这里,我们可以发布和共享他们的 crate,也可以从他们那里获得依赖项。

通过板条箱io,我们可以轻松搜索和发现各种板条箱。 它提供了高级搜索功能、分类浏览和其他工具,使我们能够找到适合他们需求的库。

每个 crate 都有一个唯一的版本号,您可以指定项目对特定版本的 crate 或范围版本的依赖关系。 这种版本控制机制保证了项目的稳定性,并允许我们选择是否升级依赖。

演示如何创建 crate 库并在另一个项目中引用它。 我们将创建一个简单的库,它提供了一个用于计算两个数字之和的函数。

1. 创建一个 crate 库。

首先,使用 cargo、crate 创建一个新库。

在终端中执行以下命令。

cargo new my_math_lib --lib

这将创建一个名为'my_math_l

在'my_math_lib/src/li

文件:My Math lib src librs

计算两个数字的总和。

pub fn add(a: i32, b: i32) -i32 ", result);

4. 生成并运行项目。

在我的项目根目录下执行以下命令:

生成项目。

运行项目。

cargo run

相似文章

    什么是 Rust 函数

    在 Rust 中,函数是一种封装可重用 函数可以接受参数,执行一系列操作,并返回值 或无值 以下是在 Rust 中定义函数的基本语法 fn function name parameter type,parameter type,returntype fn 用于声明函数。function name 函...

    Rust 的面向对象

    Rust 是一种系统级编程语言,旨在安全 并发和高效。与其他一些主流编程语言 如C J A Python等 不同,Rust不是一种纯粹的面向对象的编程语言。但是,Rust 提供了面向对象编程的一些特性和概念,可用于实现面向对象的设计。以下是用于在 Rust 中实现面向对象编程的一些常见特性和概念 结...

    关于 Rust 的详细教程

    Rust 语言是一种高效 可靠 通用的高级语言。它的效率不局限于开发效率,它的执行效率也值得称道,是少有的兼顾开发效率和执行效率的语言。Rust 语言由 Mozilla 开发,于 年 月首次发布。Rust 编译器遵循 Mit 许可证和 Apache 许可证 双重许可声明下的免费和开源软件。截至目前 ...

    什么是 Rust 枚举类

    在 Rust 中,枚举是一种数据结构,它允许您定义一个类型,其值只能是几种预定义可能性之一。Rust 的枚举类具有以下特征 枚举变体 枚举类型可以有多个成员,每个成员表示一个可能的值。每个成员可以包含不同类型的数据。enum color 在上面的示例中,color 是一种枚举类型,具有三个成员 红色...

    Rust 泛型和特性

    在 Rust 中,泛型和特征是两个重要的语言特性,它们帮助我们编写更灵活和可重用的语言。泛型 泛型允许我们编写可以应用于多种类型的 而不是特定类型。通过使用泛型,我们可以编写更通用和抽象的函数 结构 枚举等。在 rust 中,使用尖括号 来声明泛型参数,例如 fn print value t val...