Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《Trait 定义与实现》:Trait 定义共享行为,类似于其他语言的接口。 **定义 Trait:** ```rust pub trait Summary { fn summarize(&self) -> String; } ``` **为类型实现 Tr...

Trait

Trait 定义与实现

【详细说明 & 代码示例】
Trait 定义共享行为,类似于其他语言的接口。 **定义 Trait:** ```rust pub trait Summary { fn summarize(&self) -> String; } ``` **为类型实现 Trait:** ```rust struct NewsArticle { headline: String, location: String } impl Summary for NewsArticle { fn summarize(&self) -> String { format!("{}, {}", self.headline, self.location) } } ``` **默认实现:** ```rust trait Summary { fn summarize(&self) -> String { String::from("(Read more...)") } } ``` **Trait 作为参数:** ```rust fn notify(item: &impl Summary) { println!("{}", item.summarize()); } // 或者使用 Trait Bound 语法 fn notify(item: &T) { ... } ``` **多个 Trait:** `fn notify(item: &(impl Summary + Display))` 或 `T: Summary + Display`。 **返回 Trait 类型:** 使用 `impl Trait`(但只能返回单一具体类型)。 ```rust fn returns_summarizable() -> impl Summary { NewsArticle { ... } } ``` **Trait 对象(动态分发):** `Box` 允许运行时多态。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解