Rust 内存管理之声明延迟计算的常量 - Rust 实践指南
声明延迟计算的常量 HashMap。HashMap 将被计算一次,随后存储在全局静态(全局堆栈)引用。
use lazy_static::lazy_static;use std::collections::HashMap;lazy_static! {static ref PRIVILEGES: HashMap<&'static str, Vec<&'static str>> = {let mut map = HashMap::new();map.insert("James", vec!["user", "admin"]);map.insert("Jim", vec!["user"]);map};}fn show_access(name: &str) {let access = PRIVILEGES.get(name);println!("{}: {:?}", name, access);}fn main() {let access = PRIVILEGES.get("James");println!("James: {:?}", access);show_access("Jim");}
超过 150+ 的实践实例请点击底部“阅读原文”,或者访问 https://rust-cookbook.budshome.com,按照左侧导航阅读。
指南适用于 Rust 程序员新手,以便于他们可以快速了解 Rust crate 生态系统的功能。同时,本指南也适用于经验丰富的 Rust 程序员,他们可以在本指南中找到如何完成常见任务的简单提示。
以上实例代码都是完整的、可独立运行的程序,因此你可以直接复制它们到自己的项目中进行试验。
如果希望从头了解如何运行上述实例代码,请参考部分。也可以复制链接:http://budshome.com/rust-cookbook/about.html
点击阅读原文进行更详细的学习。
