Rust Tutorials

Rust provides a structured approach to learning systems programming and memory safety. Our tutorials cover Rust syntax, ownership concepts, and concurrent programming, suitable for beginners and experienced programmers. Through hands-on labs and practical examples, you'll gain proficiency in writing safe and efficient Rust code. Our Rust playground allows you to experiment with Rust features in real-time.

测试用例:空约束条件

测试用例:空约束条件

在本实验中,代码通过以 Eq 和 Copy 特性为例,展示了即使特性不包含任何功能,也可将其用作约束条件。
Rust
使用 where 子句实现富有表现力的 Rust 泛型

使用 where 子句实现富有表现力的 Rust 泛型

在本实验中,我们了解到 Rust 中的 `where` 子句可用于在声明泛型类型时单独表达其边界,从而使语法更清晰,并且还可以将边界应用于任意类型,而不仅仅是类型参数。当边界比普通语法更具表现力时,`where` 子句特别有用,如涉及 `PrintInOption` 特征的示例所示。
Rust
测试用例:单位说明

测试用例:单位说明

在本实验中,我们将使用 Rust 提供的示例代码来研究带有虚类型参数的 Add 特性的实现。
Rust
探索 Rust 的关联类型

探索 Rust 的关联类型

在本实验中,我们探索 Rust 中关联类型的概念,它通过在 trait 中局部定义内部类型作为输出类型,提高了代码的可读性。这是通过在 trait 定义中使用 type 关键字来实现的。有了关联类型,使用该 trait 的函数不再需要显式地表达类型 A 和 B,从而使代码更加简洁和灵活。我们使用关联类型重写了上一节中的一个示例,以说明它们在实际中的用法。
Rust
新类型习惯用法

新类型习惯用法

在本实验中,我们探索新类型习惯用法,它通过允许我们创建一个与其底层类型不同的新类型来提供编译时保证。这里给出了一个示例,其中结构体 Years 用于表示以年为单位的年龄,结构体 Days 用于表示以天为单位的年龄。通过使用新类型习惯用法,我们可以确保向程序提供正确类型的值,例如在年龄验证函数 old_enough 中,该函数需要一个 Years 类型的值。此外,我们还将学习如何使用元组或解构语法将新类型的值作为其底层类型获取。
Rust
泛型容器 trait 的实现

泛型容器 trait 的实现

在本实验中,我们有一个名为 Contains 的 trait,它在其容器类型上是泛型的,并且在为 Container 类型实现时需要显式指定其泛型类型。
Rust
虚类型参数

虚类型参数

在本实验中,我们探讨虚类型参数的概念,它是在编译时进行静态检查的类型参数,没有任何运行时行为或值。我们通过将 std::marker::PhantomData 与虚类型参数的概念相结合,在 Rust 中展示它们的用法,以创建包含不同数据类型的元组和结构体。
Rust
探索 Rust 中的多重约束

探索 Rust 中的多重约束

在本实验中,代码演示了 Rust 中多重约束的概念,即单个类型可以使用 + 运算符应用多个约束。
Rust
Rust 泛型类型约束

Rust 泛型类型约束

在本实验中,在 Rust 中使用泛型时,类型参数必须由 trait 界定,以指定类型必须实现的功能。
Rust
实现通用双释放特性

实现通用双释放特性

在本实验中,定义了一个通用的 DoubleDrop 特性,其中包含一个 double_drop 方法,该方法允许一个类型释放自身以及一个输入参数。
Rust
探索 Rust 泛型功能

探索 Rust 泛型功能

在本实验中,我们将探索泛型的主题,泛型涉及将类型和功能进行泛化,以处理更广泛的情况,减少代码重复。Rust 中泛型的语法涉及使用尖括号指定类型参数,例如 <T>。通过使用泛型,我们可以创建能够接受任何类型参数的泛型函数。此外,我们还可以定义能够与不同具体类型一起工作的泛型类型。
Rust
禁用 Rust 未使用代码警告

禁用 Rust 未使用代码警告

在本实验中,编译器提供了一个 dead_code 检查,用于警告未使用的函数,但你可以使用属性(如 #[allow(dead_code)])来禁用该检查并防止警告。
Rust
Rust 条件函数编译

Rust 条件函数编译

在本实验中,我们有一段代码片段,其中包含一个名为 conditional_function() 的函数,但只有在使用 --cfg 标志将一个名为 some_condition 的自定义条件传递给 rustc 时,它才会被编译和执行。
Rust
使用 Rust 的 cfg 属性进行条件编译

使用 Rust 的 cfg 属性进行条件编译

在本实验中,你将学习 Rust 中的 cfg 属性和 cfg! 宏,它们分别允许在配置和求值中进行条件检查。cfg 属性启用条件编译,而 cfg! 宏在运行时求值为 true 或 false。与可以移除代码的 #[cfg] 不同,使用 cfg! 的代码块无论求值结果如何都必须有效。
Rust
Rust 开发中的 Cargo 属性

Rust 开发中的 Cargo 属性

在本实验中,将解释在使用广泛应用于 Rust 项目的 Rust 包管理器 Cargo 时,Rust 中的 crate_type 和 crate_name 属性无效。
Rust
在 Rust 中定义泛型函数

在 Rust 中定义泛型函数

在本实验中,你将学习如何在 Rust 中定义泛型函数。要使函数成为泛型函数,你需要在类型 T 前加上 <T>。有时,在调用泛型函数时,你可能需要显式指定类型参数,这可以使用语法 fun::<A, B,...>() 来完成。提供的代码演示了 Rust 中泛型函数的用法,并包括泛型函数和非泛型函数的示例。
Rust
在 Rust 中实现泛型类型

在 Rust 中实现泛型类型

在本实验中,我们学习如何在 Rust 中实现泛型类型和方法,这使我们在使用结构体或调用方法时能够指定不同的类型参数。
Rust
Rust 软件测试基础

Rust 软件测试基础

在本实验中,我们将探讨使用 Rust 进行软件开发时测试的重要性,以及如何编写不同类型的测试,如单元测试和集成测试。我们还将学习如何在 Rust 项目中组织测试,并使用 cargo test 命令运行它们。此外,我们将讨论并发运行测试可能出现的潜在问题,并提供一个示例来说明这一点。
Rust
  • 上一页
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ...
  • 14
  • 下一页