Rust 泛型、特性与自定义 crate 开发
泛型、特性相关基础
在 Rust 开发中,泛型和特性是非常重要的特性。当我们尝试使用 cargo run 编译代码时,可能会遇到编译器找不到 extern crate num 的错误。这是因为 cargo 不知道依赖项的位置。首次获取外部引用时,Rust 会更新可用 crate 列表(注册表)并下载所需的 crate。我们需要编辑 Cargo.toml 文件并插入以下代码:
[dependencies]
num = "*"
保存后执行 cargo run 即可。
特性可以有边界,边界是特性必须遵守的规则,并添加到声明的类型参数中。例如在代码示例中, impl 对泛型类型施加了 PartialEq 边界。我们的结构体包含四个参数,只需要测试该结构体中的部分相等性。如果声明的类型参数上没有 PartialEq ,编译将失败,因为我们没有测试该结构体中的所有内容。
如果特性包含默认方法,我们可以完全省略创建该特性实现的要求。示例代码如下:
trait MyTrait
{
fn test_code(&self) -> bool;
fn self_test_code(&self) -&g
超级会员免费看
订阅专栏 解锁全文

1599

被折叠的 条评论
为什么被折叠?



