0
点赞
收藏
分享

微信扫一扫

【Rust日报】2021-08-30 如何来看待 unwrap

如何来看待 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语言中文社区


举报

相关推荐

0 条评论