文章预览
在应用程序开始时最常见的事情之一是初始化各种资源。这可以是应用程序配置、日志服务或某些数据库连接。然而,并非所有这些都需要在应用开始时就准备好,因为这可能会导致启动缓慢。 这就需要在使用资源的时候再进行初始化,延迟初始化模式可以帮助我们推迟资源的初始化。如果资源根本不使用,也可以完全跳过初始化。 在Rust的旧版本中,其标准库不支持这种延迟初始化。在生态系统中有几个流行的crate通常用于此功能,例如 lazy_static 和 once_cell 。从Rust 1.80开始,这些crate提供的许多功能现在可以在标准库中使用,并且可以用来代替这两个crate。 在这篇文章中,我们将介绍什么是延迟初始化模式, lazy_static 和 once_cell 如何提供延迟初始化的功能,如何使用标准库进行延迟初始化,标准库与 lazy_static 和 once_cell 之间的比较。 延迟初始化
………………………………