rust REGEX和lazy_static 和struct 混用

rust 复制代码
lazy_static! {
    static ref SSID_REG: Regex = Regex::new(r"^[0-9a-zA-Z-_]{1,32}$").unwrap();
}

#[derive(Serialize, Deserialize, Validate, Debug, Clone)]
pub struct WifiClient {
    pub enabled: bool,
    #[validate(regex = "SSID_REG")]
    pub ssid: String,
    pub freq: ChannelConnect,
}
  • Lazy<Regex>(通常来自 once_cell::sync::Lazylazy_static)保证这个 Regex 对象只会在第一次被使用时构建一次,之后所有线程都能安全地共享它。

  • 相比每次调用 Regex::new(...) 都重新编译,这样可以大幅提升性能。

相关推荐
且白1 分钟前
vsCode使用本地低版本node启动配置文件
前端·vue.js·vscode·编辑器
程序研2 分钟前
一、ES6-let声明变量【解刨分析最详细】
前端·javascript·es6
sky_ph17 分钟前
JAVA-GC浅析(二)G1(Garbage First)回收器
java·后端
疯狂的沙粒23 分钟前
在uni-app中如何从Options API迁移到Composition API?
javascript·vue.js·uni-app
siwangqishiq227 分钟前
Vulkan Tutorial 教程翻译(四) 绘制三角形 2.2 呈现
前端
李三岁_foucsli28 分钟前
js中消息队列和事件循环到底是怎么个事,宏任务和微任务还存在吗?
前端·chrome
尽欢i29 分钟前
HTML5 拖放 API
前端·html
IDRSolutions_CN39 分钟前
PDF 转 HTML5 —— HTML5 填充图形不支持 Even-Odd 奇偶规则?(第二部分)
java·经验分享·pdf·软件工程·团队开发
hello早上好42 分钟前
Spring不同类型的ApplicationContext的创建方式
java·后端·架构
xiaominlaopodaren43 分钟前
Three.js 光影魔法:如何单独点亮你的3D模型
javascript