FEATURED · 精选文章

Comprehensive Rust 课程术语表:Rust 核心概念速查、来源章节映射与源码级深度解析

发布时间 / 2026/9/10 3:11:07
来源 / 创域科博编辑部
栏目 / 资讯中心
Comprehensive Rust 课程术语表:Rust 核心概念速查、来源章节映射与源码级深度解析 Comprehensive Rust 课程术语表Rust 核心概念速查、来源章节映射与源码级深度解析【免费下载链接】comprehensive-rustThis is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.项目地址: https://gitcode.com/GitHub_Trending/co/comprehensive-rust本文基于 Google Android 团队开源课程 Comprehensive Rust 的官方术语表Glossary展开完整收录其中全部约 55 个 Rust 术语的英文原词与中文释义并把每个术语映射到仓库中对应的课程章节src/下各.md文件同时结合仓库内实际引用的课件源码与示例代码对所有权、借用检查、panic、trait 等关键术语做纵深解读。读完后你可以把它作为学习 Rust 的词汇字典 章节导航图遇到任何术语都能查到精确定义并直接跳转到课程中讲解该术语的完整章节。术语表在课程中的定位与作用术语表位于 src/glossary.md是课程由 README.md 说明的多天 Rust 课程中一个独立的辅助页面。它有两重用途快速查阅给每个 Rust 术语提供一句简短定义并链接到课程中详细讲解该术语的章节翻译锚点文档中明确写道该术语表同时服务于翻译工作用于把译文术语连接回英文原词For translations, this also serves to connect the term back to the English original。仓库中的 TRANSLATIONS.md 与 po/ 目录包含 zh-CN、ja、de、fr 等 20 余种语言的.po文件即为该机制的落地实现。文档还附带了 i18n 注释要求译者在译词后保留斜体英文原词以保证术语一一对应。每个条目的标准结构是术语 一句话定义 指向课程章节的相对链接。例如原文档中borrow checker条目写作The part of the Rust compiler which checks that all borrows are valid.检查所有借用是否合法的那部分 Rust 编译器。并链接到借用检查章节。下面按主题分组完整继承全部术语并在每组后附上仓库课件中的源码级佐证。一、类型与基础值术语定义继承自 src/glossary.md对应章节variable变量存储数据的内存位置变量在scope作用域内有效src/types-and-values/variables.mdimmutable不可变创建后不能被修改src/types-and-values/variables.mdmutable可变允许变量在声明后被修改的属性src/types-and-values/variables.mdtype类型规定某一类值可以执行哪些操作的分类src/types-and-values.mdtype inference类型推断编译器推断变量或表达式类型的能力src/types-and-values/inference.mdconstant常量程序运行期间不发生变化的值src/user-defined-types/const.mdstatic静态用于定义静态变量或具有static生命周期项的关键字src/user-defined-types/static.mdarray数组同类型元素组成的固定大小集合在内存中连续存储src/tuples-and-arrays/arrays.mdtuple元组包含不同类型变量的复合数据类型字段无名按序号访问src/tuples-and-arrays/tuples.mdstruct结构体将不同类型变量归到单个名称下的复合数据类型src/user-defined-types/named-structs.mdenumeration枚举持有若干命名常量之一的数据类型可附带元组或结构体src/user-defined-types/enums.mdunit type单元类型不持有任何数据、写作空元组的类型src/control-flow-basics/functions.md 讲稿注释string字符串存储文本数据的数据类型src/references/strings.mdscope作用域变量有效并可被使用的程序区域src/control-flow-basics/blocks-and-scopes.mdblock块见块与作用域章节及scope条目src/control-flow-basics/blocks-and-scopes.mdbrace花括号{与}又称 curly brace用于界定blocksrc/control-flow-basics/blocks-and-scopes.mdpayload负载消息、事件或数据结构所携带的数据或信息—独立条目control flow控制流程序中各语句或指令被执行的顺序src/control-flow-basics.mdRust一种强调安全性、性能与并发性的系统编程语言src/hello-world/what-is-rust.md枚举与 payload 的源码级佐证术语表中 enumeration 与 payload 的定义在课件 src/user-defined-types/enums.md 中有完整展开。该课件给出PlayerMove示例展示了枚举的三种变体形态简单变体Pass、元组变体Run(Direction)、结构体变体Teleport { x: u32, y: u32 }并指出除 payload 外Rust 会存储一个 discriminant判别子以便在运行时知道是哪个变体。课件还补充了实现细节Rust 用最小空间存储判别子必要时利用非法位模式编码niche 优化例如Optionu8用空指针表示None并可用#[repr(u32)]显式控制判别子取值如Bar { A 0, B 10000, C 10001 }。这正是 payload各变体携带的数据与 enum 存储布局的一手解释。二、所有权与借用内存模型核心这是术语表中密度最高、也最能体现 Rust 特色的术语簇术语定义继承自 src/glossary.md对应章节ownership所有权定义代码中哪个部分负责管理某个值关联内存的概念src/memory-management/ownership.mdmove移动Rust 中值的所有权从一个变量转移到另一个变量src/memory-management/move.mdborrow借用见借用章节src/borrowing/shared.mdborrow checker借用检查器Rust 编译器中检查所有借用是否合法的部分src/borrowing/borrowck.mdreference引用不拥有值、只借用而不转移所有权的指针可以是共享不可变或独占可变src/references/shared.md、src/references/exclusive.mdslice切片对连续序列如数组或向量的动态大小视图大小在运行时确定src/references/slices.mdallocate分配在堆上进行动态内存分配src/memory-management/review.mdmemory leak内存泄漏程序未能释放不再需要的内存导致内存占用逐渐增长src/memory-management/approaches.mdgarbage collector垃圾回收器自动释放不再被使用对象所占内存的机制src/memory-management/approaches.mdreference counting引用计数跟踪对象引用次数、计数归零时释放对象的内存管理技术src/smart-pointers/rc.mdsafe安全遵循 Rust 所有权与借用规则、从而防止内存相关错误的代码src/unsafe-rust.mdunsafe不安全允许触发未定义行为的 Rust 子集src/unsafe-rust/unsafe.mdundefined behavior未定义行为Rust 中结果无规定的操作或状态常导致不可预测的程序行为src/unsafe-rust.mdunion联合体可持有不同类型值但同一时刻只能持有一个的数据类型src/unsafe-rust/unions.mdownership 的源码级佐证课件 src/memory-management/ownership.md 用一段故意触发编译错误的代码讲清单一所有者原则——Point(3, 4)在内层块中被使用内层块结束后再访问p.1会报错struct Point(i32, i32); fn main() { { let p Point(3, 4); dbg!(p.0); } dbg!(p.1); // 编译错误p 的作用域已结束 }课件原文表述为We say that the variableownsthe value. Every Rust value has precisely one owner at all times.每个 Rust 值在任何时刻都有且仅有一个所有者作用域结束时变量被 drop、数据被释放析构函数可在此运行以释放资源。这正好解释了术语表中 ownership、scope、allocate 三个术语之间的内在关联。borrow checker 的源码级佐证课件 src/borrowing/borrowck.md 给出借用检查器的两条主规则。第一条是不能存活得比被借用值更久引用不能 outlive 被借值fn main() { let x_ref { let x 10; x // x 在块结束时被 drop引用悬垂 }; dbg!(x_ref); // 编译错误 }第二条是别名规则aliasing rule对任一值任意时刻要么有多个共享引用要么恰好有一个独占引用fn main() { let mut a 10; let b a; { let c mut a; // 编译错误b 存在期间不能有独占引用 *c 20; } dbg!(a); dbg!(b); }这两段compile_fail示例即术语表 borrow / borrow checker / reference 三个条目所指规则的一手依据。三、函数、方法与宏术语定义继承自 src/glossary.md对应章节function函数执行特定任务的可复用代码块src/control-flow-basics/functions.mdmainfunctionRust 程序从main函数开始执行src/types-and-values/hello-world.mdmethod方法Rust 中与对象或类型关联的函数src/methods-and-traits/methods.mdreceiver接收者Rust 方法中表示调用实例的第一个参数src/methods-and-traits/methods.mdmacro宏名称中带!的可识别结构在普通函数不够用时使用典型例子是format!接受可变数量参数而 Rust 函数不支持src/control-flow-basics/macros.mdmatch对表达式值进行模式匹配的控制流结构src/pattern-matching.mdpattern模式可与表达式匹配的值、字面量或结构的组合src/pattern-matching.mdmainfunction 条目与 src/types-and-values/hello-world.md 中的Hello, World入口相呼应macro 条目中特别点出format!是普通函数做不到、必须用宏的典型场景可变参数这一点在 src/control-flow-basics/macros.md 有完整展开。四、Trait 与泛型术语定义继承自 src/glossary.md对应章节trait特征/特性为未知类型定义的一组方法是实现 Rust 多态的途径src/methods-and-traits/traits.mdtrait bound特征约束可以要求类型实现你所关心的某些 trait 的抽象机制src/generics/trait-bounds.mdassociated type关联类型与特定 trait 绑定的类型用于定义类型之间的关系src/methods-and-traits/traits/associated-types.mdgenerics泛型允许以类型占位符编写代码、从而在不同数据类型间复用的特性src/generics.mdtrait 的源码级佐证课件 src/methods-and-traits/traits.md 开篇即给出与 C/Java 接口的类比——Rust lets you abstract over types with traits. Theyre similar to interfaces并给出Pet示例trait Pet { /// Return a sentence from this pet. fn talk(self) - String; /// Print a string to the terminal greeting this pet. fn greet(self); }术语表中 trait / trait bound / associated type 三个条目分别对应该课件及其子页src/methods-and-traits/traits/associated-types.md、src/generics/trait-bounds.md构成定义 trait → 用 trait bound 约束泛型 → 用 associated type 关联类型的完整知识链。五、错误处理术语定义继承自 src/glossary.md对应章节error错误偏离预期行为的意外情况或结果src/error-handling.mderror handling错误处理管理与响应程序运行中发生的错误src/error-handling.mdpanic恐慌导致程序终止的不可恢复错误状态src/error-handling/panics.mdcrash崩溃程序发生意外且未处理的失败或终止src/error-handling/panics.mdpanic 的源码级佐证课件 src/error-handling/panics.md 用越界访问演示触发条件fn main() { let v vec![10, 20, 30]; dbg!(v[100]); // 边界检查失败触发 panic }课件补充了术语表未展开的三个要点panic 会unwind展开栈并像正常返回一样 drop 各值不可接受崩溃时应使用不 panic 的 API如Vec::getpanic::catch_unwind可以捕获展开适用于单个请求崩溃但服务器要继续运行的场景且当Cargo.toml设置panic abort时不可用。六、模块、库与标准库术语定义继承自 src/glossary.md对应章节module模块包含函数、类型、trait 等定义的命名空间用于组织代码src/modules.mdlibrary库可被程序使用的预编译例程或代码集合src/modules.mdstandard library标准库提供 Rust 基本功能的模块集合src/std-types/std.md七、并发术语定义继承自 src/glossary.md对应章节concurrency并发同时执行多个任务或进程src/concurrency/welcome.mdthread线程程序中独立的执行序列支持并发执行src/concurrency/threads.mdchannel通道用于在线程之间安全传递消息src/concurrency/channels.mdthread safety线程安全保证多线程环境下行为正确的程序属性src/concurrency/send-sync.mdthread safety 条目特指Send与Sync标记 trait 的讲解src/concurrency/send-sync.md这也是本课程并发部分见 SUMMARY.md 中的并发日程的核心线索。八、测试术语定义继承自 src/glossary.md对应章节test测试验证其他代码正确性的函数Rust 自带测试运行器src/testing.mdunit test单元测试Rust 内置支持运行小型单元测试src/testing/unit-tests.mdintegration test集成测试验证系统各部分或组件之间交互的测试类型src/testing/other.md九、裸机方向术语定义继承自 src/glossary.md对应章节Bare-metal Rust裸机 Rust通常在无操作系统的系统上部署的低层 Rust 开发src/bare-metal.md该条目对应课程的裸机专题仓库中配有完整示例工程包括 src/bare-metal/aps/examples/Cargo.toml 与 src/bare-metal/alloc-example/Cargo.toml 等可构建示例。术语表与课程章节的映射关系总览术语表实际上是一张术语 → 章节的索引图覆盖课程的全部主线对照 src/SUMMARY.md 可验证Day 1变量/类型/值variable、type、immutable、mutable、type inference、constant、控制流control flow、block、scope、brace、function、macro、match、基础复合类型array、tuple、struct、enumeration、unit type、string、payload、引用reference、sliceDay 2 前后模式pattern、方法与 traitmethod、receiver、trait、associated type、generics、trait bound、闭包相关术语经由函数与 trait 条目关联Day 3所有权ownership、move、borrow、borrow checker、allocate、memory leak、garbage collector、reference counting、错误处理error、error handling、panic、crash、模块与标准库module、library、standard library进阶专题unsafe 簇safe、unsafe、undefined behavior、union、并发concurrency、thread、channel、thread safety、测试test、unit test、integration test、裸机Bare-metal Rust。使用建议把术语表当作双向入口——正向按本文章的分组通读可在几分钟内建立 Rust 术语体系骨架反向当你在阅读 src/borrowing/borrowck.md、src/error-handling/panics.md、src/user-defined-types/enums.md 等章节时遇到不认识的术语回到术语表查定义再跳回章节深读。由于术语表同时是翻译锚点仓库 po/ 目录维护了 zh-CN 等 20 余种语言译文中文读者还可以借助 src/glossary.md 的英文原词与中文译文对照保持术语用法在文档、译文与代码间的一致性。【免费下载链接】comprehensive-rustThis is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.项目地址: https://gitcode.com/GitHub_Trending/co/comprehensive-rust创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻