Rust 中的错误处理:thiserror 和 anyhow
使用 thiserror 为库定义清晰的错误类型,使用 anyhow 聚合错误并为应用程序添加上下文,以及如何组合两者使用。
使用 thiserror 为库定义清晰的错误类型,使用 anyhow 聚合错误并为应用程序添加上下文,以及如何组合两者使用。
使用 Arc<Mutex<T>> 在线程间共享数据、使用 mpsc channel 传递消息,以及如何避免死锁、poisoning 和其他常见错误。
使用 Axum 0.8 构建 REST API CRUD,包括 routing、extractor、shared state、使用 IntoResponse 处理错误以及不需要打开网络端口的处理程序测试。
何时在Rust中使用Box、Rc或Arc:heap分配、单线程内共享所有权和多线程间共享所有权,配合Weak、RefCell和Mutex。
Rust中使用Tokio进行异步编程的指南,包括async/await、spawn task、join!、select!、timeout、channel、spawn_blocking和async代码测试方法。
使用 Cargo 创建 Rust 项目、正确添加依赖、编写测试和将多个 crate 组织到工作区的指南。
如何定义带数据的 enum,使用 match、if let、let else 安全处理各种情况,以及在 Rust 中使用 enum 时常见的错误。
了解闭包、三个trait Fn/FnMut/FnOnce、如何使用map、filter、collect等迭代器适配器和如何在Rust中编写自己的迭代器。
学习如何在Rust中定义和实现trait,使用trait约束、impl Trait、dyn Trait,并避免常见错误如orphan规则。
了解 Rust 中的 Option<T> 和 Result<T, E>:如何表示缺失的值、可能的错误,以及用 ? 操作符代替异常来传播错误。
通过易于理解的 Order、Customer 示例解释 Rust 中的借用、borrow checker 和生命周期标注,附常见错误
理解 Rust 的所有权机制——这门语言如何在编译时实现内存安全,无需垃圾回收器。