You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

253 lines
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Rust语言圣经
[进入Rust编程世界](into-rust.md)
[AWS为何这么喜欢Rust?](usecases/aws-rust.md)
[避免从入门到放弃](sth-you-should-not-do.md)
<!-- [关于本书](about-book.md) -->
[快速查询入口](index-list.md)
## Getting started
- [寻找牛刀,以便小试](first-try/intro.md)
- [安装Rust环境](first-try/installation.md)
- [墙推VSCode!](first-try/editor.md)
- [认识Cargo](first-try/cargo.md)
- [不仅仅是Hello world](first-try/hello-world.md)
## Rust学习三部曲
- [Rust基础入门](basic/intro.md)
- [变量绑定与解构](basic/variable.md)
- [基本类型](basic/base-type/index.md)
- [数值类型](basic/base-type/numbers.md)
- [字符、布尔、单元类型](basic/base-type/char-bool.md)
- [语句与表达式](basic/base-type/statement-expression.md)
- [函数](basic/base-type/function.md)
- [所有权和借用](basic/ownership/index.md)
- [所有权](basic/ownership/ownership.md)
- [引用与借用](basic/ownership/borrowing.md)
- [复合类型](basic/compound-type/intro.md)
- [字符串与切片](basic/compound-type/string-slice.md)
- [元组](basic/compound-type/tuple.md)
- [结构体](basic/compound-type/struct.md)
- [枚举](basic/compound-type/enum.md)
- [数组](basic/compound-type/array.md)
- [流程控制](basic/flow-control.md)
- [模式匹配](basic/match-pattern/intro.md)
- [match和if let](basic/match-pattern/match-if-let.md)
- [解构Option](basic/match-pattern/option.md)
- [模式适用场景](basic/match-pattern/pattern-match.md)
- [全模式列表](basic/match-pattern/all-patterns.md)
- [方法Method](basic/method.md)
- [泛型和特征](basic/trait/intro.md)
- [泛型Generics](basic/trait/generic.md)
- [特征Trait](basic/trait/trait.md)
- [特征对象](basic/trait/trait-object.md)
- [进一步深入特征](basic/trait/advance-trait.md)
- [集合类型](basic/collections/intro.md)
- [动态数组Vector](basic/collections/vector.md)
- [KV存储HashMap](basic/collections/hashmap.md)
- [类型转换](basic/converse.md)
- [返回值和异常](basic/result-error/intro.md)
- [panic深入剖析!](basic/result-error/panic.md)
- [返回值Result和?](basic/result-error/result.md)
- [包和模块](basic/crate-module/intro.md)
- [包crate](basic/crate-module/crate.md)
- [模块Module](basic/crate-module/module.md)
- [使用use引入模块及受限可见性](basic/crate-module/use.md)
- [注释和文档](basic/comment.md)
- [格式化输出](basic/formatted-output.md)
- [Rust高级进阶](advance/intro.md)
- [生命周期](advance/lifetime/intro.md)
- [认识生命周期](advance/lifetime/basic.md)
- [深入生命周期](advance/lifetime/advance.md)
- [&'static 和 T: 'static](advance/lifetime/static.md)
<!-- - [一些关于生命周期的误解 todo](advance/lifetime/misconceptions.md) -->
- [函数式编程: 闭包、迭代器](advance/functional-programing/intro.md)
- [闭包closure](advance/functional-programing/closure.md)
- [迭代器iterator](advance/functional-programing/iterator.md)
- [深入类型](advance/into-types/intro.md)
- [newtype 和 类型别名](advance/into-types/custom-type.md)
- [Sized 和不定长类型 DST](advance/into-types/sized.md)
- [枚举和整数](advance/into-types/enum-int.md)
- [智能指针](advance/smart-pointer/intro.md)
- [Box<T>堆对象分配](advance/smart-pointer/box.md)
- [Deref解引用](advance/smart-pointer/deref.md)
- [Drop释放资源](advance/smart-pointer/drop.md)
- [Rc与Arc实现1vN所有权机制](advance/smart-pointer/rc-arc.md)
- [Cell与RefCell内部可变性](advance/smart-pointer/cell-refcell.md)
- [循环引用与自引用](advance/circle-self-ref/intro.md)
- [Weak与循环引用](advance/circle-self-ref/circle-reference.md)
- [结构体中的自引用](advance/circle-self-ref/self-referential.md))
- [多线程并发编程](advance/concurrency-with-threads/intro.md)
- [并发和并行](advance/concurrency-with-threads/concurrency-parallelism.md)
- [使用多线程](advance/concurrency-with-threads/thread.md)
- [线程同步:消息传递](advance/concurrency-with-threads/message-passing.md)
- [线程同步锁、Condvar和信号量](advance/concurrency-with-threads/sync1.md)
- [线程同步Atomic原子操作与内存顺序](advance/concurrency-with-threads/sync2.md)
- [基于Send和Sync的线程安全](advance/concurrency-with-threads/send-sync.md)
- [实践应用多线程Web服务器 todo](advance/concurrency-with-threads/web-server.md)
- [全局变量](advance/global-variable.md)
- [错误处理](advance/errors.md)
- [Unsafe Rust](advance/unsafe/intro.md)
- [五种兵器](advance/unsafe/superpowers.md)
- [Macro宏编程](advance/macro.md)
<!-- - [SIMD todo](advance/simd.md) -->
<!-- - [高阶特征约束(HRTB) todo](advance/hrtb.md) -->
## 专题内容,每个专题都配套一个小型项目进行实践
- [自动化测试](test/intro.md)
- [编写测试及控制执行](test/write-tests.md)
- [单元测试和集成测试](test/unit-integration-test.md)
- [断言assertion](test/assertion.md)
- [用Github Actions进行持续集成](test/ci.md)
- [基准测试benchmark](test/benchmark.md)
- [async/await异步编程](async/intro.md)
- [async编程入门](async/getting-started.md)
- [底层探秘: Future执行与任务调度](async/future-excuting.md)
- [定海神针Pin和Unpin](async/pin-unpin.md)
- [async/await和Stream流处理](async/async-await.md)
- [同时运行多个Future](async/multi-futures-simultaneous.md)
- [一些疑难问题的解决办法](async/pain-points-and-workarounds.md)
- [实践应用Async Web服务器](async/web-server.md)
- [Tokio使用指南](tokio/intro.md)
- [tokio概览](tokio/overview.md)
- [使用初印象](tokio/getting-startted.md)
- [创建异步任务](tokio/spawning.md)
- [共享状态](tokio/shared-state.md)
- [消息传递](tokio/channels.md)
- [I/O](tokio/io.md)
- [解析数据帧](tokio/frame.md)
- [深入async](tokio/async.md)
- [select](tokio/select.md)
- [类似迭代器的Stream](tokio/stream.md))
- [优雅的关闭](tokio/graceful-shutdown.md)
- [异步跟同步共存](tokio/bridging-with-sync.md)
- [Cargo使用指南](cargo/intro.md)
- [上手使用](cargo/getting-started.md)
- [基础指南](cargo/guide/intro.md)
- [为何会有Cargo](cargo/guide/why-exist.md)
- [下载并构建Package](cargo/guide/download-package.md)
- [添加依赖](cargo/guide/dependencies.md)
- [Package目录结构](cargo/guide/package-layout.md)
- [Cargo.toml vs Cargo.lock](cargo/guide/cargo-toml-lock.md)
- [测试和CI](cargo/guide/tests-ci.md)
- [Cargo缓存](cargo/guide/cargo-cache.md)
- [Build缓存](cargo/guide/build-cache.md)
- [进阶指南 doing](cargo/reference/intro.md)
- [指定依赖项](cargo/reference/specify-deps.md)
- [依赖覆盖](cargo/reference/deps-overriding.md)
- [Cargo.toml清单详解](cargo/reference/manifest.md)
- [Cargo Target](cargo/reference/cargo-target.md)
- [工作空间Workspace](cargo/reference/workspaces.md)
- [条件编译Features](cargo/reference/features/intro.md)
- [Features示例](cargo/reference/features/examples.md)
- [发布配置Profile](cargo/reference/profiles.md)
- [通过config.toml对Cargo进行配置](cargo/reference/configuration.md)
- [构建脚本 todo](cargo/reference/build-script/intro.md)
- [构建脚本示例 todo](cargo/reference/build-script/examples.md)
- [发布到crates.io todo](cargo/reference/publishing-on-crates.io.md)
- [Package ID说明 todo](cargo/reference/package-id.md)
- [附录Git鉴权](cargo/git-auth.md)
- [易混淆概念解析](confonding/intro.md)
- [切片和切片引用](confonding/slice.md)
- [String、&str 和 str](confonding/string.md)
- [原生指针、引用和智能指针 todo](confonding/pointer.md)
- [作用域、生命周期和 NLL todo](confonding/lifetime.md)
- [move、Copy和Clone todo](confonding/move-copy.md)
- [对抗编译检查 doing](fight-with-compiler/intro.md)
- [幽灵数据(todo)](fight-with-compiler/phantom-data.md)
- [生命周期](fight-with-compiler/lifetime/intro.md)
- [生命周期过大-01](fight-with-compiler/lifetime/too-long1.md)
- [生命周期过大-02](fight-with-compiler/lifetime/too-long2.md)
- [循环中的生命周期](fight-with-compiler/lifetime/loop.md)
- [闭包碰到特征对象-01](fight-with-compiler/lifetime/closure-with-static.md)
- [重复借用](fight-with-compiler/borrowing/intro.md)
- [同时在函数内外使用引用](fight-with-compiler/borrowing/ref-exist-in-out-fn.md)
- [智能指针引起的重复借用错误](fight-with-compiler/borrowing/borrow-distinct-fields-of-struct.md)
- [类型未限制(todo)](fight-with-compiler/unconstrained.md)
- [Rust常见陷阱](pitfalls/index.md)
- [for循环中使用外部数组](pitfalls/use-vec-in-for.md)
- [线程类型导致的栈溢出](pitfalls/stack-overflow.md)
- [算术溢出导致的panic](pitfalls/arithmetic-overflow.md)
- [闭包中奇怪的生命周期](pitfalls/closure-with-lifetime.md)
- [可变变量不可变?](pitfalls/the-disabled-mutability.md)
- [可变借用失败引发的深入思考](pitfalls/multiple-mutable-references.md)
- [不太勤快的迭代器](pitfalls/lazy-iterators.md)
- [奇怪的序列x..y](pitfalls/weird-ranges.md)
- [无处不在的迭代器](pitfalls/iterator-everywhere.md)
- [线程间传递消息导致主线程无法结束](pitfalls/main-with-channel-blocked.md)
- [Rust最佳实践 doing](practice/intro.md)
- [日常开发三方库精选](practice/third-party-libs.md)
- [命名规范](practice/naming.md)
- [代码开发实践 todo](practice/best-pratice.md)
- [日志记录 todo](practice/logs.md)
- [可观测性监控 todo](practice/observability.md)
<!-- - [如何实现一个链表 todo]() -->
- [Rust性能剖析 todo](profiling/intro.md)
- [深入内存 todo](profiling/memory/intro.md)
- [指针和引用 todo](profiling/memory/pointer-ref.md)
- [未初始化内存 todo](profiling/memory/uninit.md)
- [内存分配 todo](profiling/memory/allocation.md)
- [内存布局 todo](profiling/memory/layout.md)
- [虚拟内存 todo](profiling/memory/virtual.md)
- [性能调优 doing](profiling/performance/intro.md)
- [深入理解move](profiling/performance/deep-into-move.md)
- [糟糕的提前优化 todo](profiling/performance/early-optimise.md)
- [Clone和Copy todo](profiling/performance/clone-copy.md)
- [Benchmark性能测试(todo)](profiling/profiling/performance/benchmark.md)
- [减少Runtime check(todo)](profiling/performance/runtime-check.md)
- [CPU缓存性能优化 todo](profiling/performance/cpu-cache.md)
- [计算性能优化 todo](profiling/performance/calculate.md)
- [堆和栈 todo](profiling/performance/heap-stack.md)
- [内存allocator todo](profiling/performance/allocator.md)
- [常用性能测试工具 todo](profiling/performance/tools.md)
- [Enum内存优化 todo](profiling/performance/enum.md)
- [编译优化 todo](profiling/compiler/intro.md)
- [LLVM todo](profiling/compiler/llvm.md)
- [常见属性标记 todo](profiling/compiler/attributes.md)
- [提升编译速度 todo](profiling/compiler/speed-up.md)
- [编译器优化 todo](profiling/compiler/optimization/intro.md)
- [Option枚举 todo](profiling/compiler/optimization/option.md)
- [标准库解析 todo](std/intro.md)
- [标准库使用最佳时间 todo](std/search.md)
- [Vector常用方法 todo](std/vector.md)
- [HashMap todo](std/hashmap.md)
- [Iterator常用方法 todo](std/iterator.md)
- [场景化用例 todo](cases/intro.md)
- [文件操作 todo](cases/file.md)
- [网络通信 todo](cases/protocol.md)
- [JSON处理 todo](cases/json.md)
- [HTTP请求 todo](cases/http.md)
- [数据库访问 todo](cases/database.md)
- [正则表达式 todo](cases/regexp.md)
<!--
- [Rust区块链入门]()
- [Rust游戏开发入门]()
- [Rust前端开发入门]()
- [Rust和WASM]() -->
## 附录
- [附录](appendix/intro.md)
- [A-关键字](appendix/keywords.md)
- [B-运算符与符号](appendix/operators.md)
- [C-表达式](appendix/expressions.md)
- [D-派生特征derive](appendix/derive.md)
- [E-prelude模块 todo](appendix/prelude.md)
- [F-难点索引](appendix/difficulties.md)
- [G-Rust版本说明](appendix/rust-version.md)
- [H-Rust更新版本列表](appendix/rust-versions/intro.md)
- [1.58](appendix/rust-versions/1.58.md)