如何来看待 unwrap
unwrap
方法可能会让新手感到困惑。一些建议:
- 可以使用 Expect (&str) 而不是 unwrap() 为 panic 提供上下文。
- 使用 unwrap 和 expect 类似于断言。如果他们 panic,那只有在不可挽回的情况下才会发生。
- 避免在库代码中使用。
原文链接: https://owengage.com/writing/2021-08-30-how-to-think-of-unwrap/
singleton-cell: 一个更强大的 ghost cell 扩展
这个库提供了一个安全的、零开销的接口,用于通过访问另一个单例令牌来保护对共享数据的访问。它是 GhostCell的扩展,除了品牌令牌外,它还允许更多普通的单例,使数据成为“静态的”
这个库本身也提供了两个单例实现:
- 通过with_token将限定范围的标记令牌作为 GhostCell
- 通过new_singleton简单地创建一次单例结构
crate 地址: https://crates.io/crates/singleton-cell
Learning Rust: Interfacing with C
通过本文学习如何使用 Rust 调用 C 方法以及如何在 C 中调用 Rust 方法.
原文链接: https://piware.de/post/2021-08-27-rust-and-c/
RefineDB: Rust编写的强类型文档数据库
运行在任何事务性 键值存储上的 强类型 文档数据库。
目前支持的 backends 有:
- FoundationDB
- 单机部署的 SQLite。
- 一个简单的内存键值存储。
github 地址: https://github.com/losfair/RefineDB
--
社区学习交流平台订阅:
- Rustcc论坛: 支持rss
- 微信公众号:Rust语言中文社区