Rust 高级特性秀场:spawn 闭包的类型约束原创分类:Rust发表于:2026-11-04阅读用时:18 分钟 (约 2677 字)阅读:0我们已经在本博客的数篇文章中接连讨论了 Rust 的闭包、Fn / FnMut / FnOnce 特质、多线程、Send 特质和 'static 约束等高级特性,在具备了这些知识储备后,我们终于可以来拆解 spawn 闭包的类型约束了,这是一个集以上众多高级特性于一身,生动诠释 Rust 语言表现力的经典场景。友情提示:本文牵涉知识点众多,但每一个关键知识点我们都已专门介绍过,在它们出现的地方会给出对应链接。阅读全文
Rust 设计模式:newtype原创分类:Rust发表于:2026-11-01阅读用时:7 分钟 (约 1022 字)阅读:0介绍一种简单但常见的 Rust 设计模式:newtype,这一模式在 Rust 中很常见,也算是一种常识性的术语了。newtype 是指将一个类型(比较典型的是基本类型,例如 i32, f64, String)包裹进一个元组结构体中,形成一个新的类型,通常会给这个新类型起一个更具有领域含义的名称。例如: 这种做法会有以下几点收益( 本文原文地址:https://laurence.blog.csdn.net/article/details/168145388 ): 1. 避免将参数搞混 在下面这个例子中你会注意到,amount 和 acc_no 都是整型,如果一不注意,就容易传错参数: 使用 n阅读全文
基于 Hexo + Icarus 搭建个人博客原创付费分类:杂项发表于:2026-11-01阅读用时:6 分钟 (约 858 字)阅读:0前置依赖:nodejs / npm / git,本机已安装 ,此步略过。使用命令: 安装 icarus 主题 测试运行 4 移除 AdSenese 打开 _config.icarus.yml,搜索 adsense,将找到的 section 注释掉: 增加页面宽度 打开 node_modules\hexo-theme-icarus\include\style\base.styl,在 $fullhd ?= 1472px 后面添加一个新的变量: 然后打开 node_modules\hexo-theme-icarus\include\style\responsive.styl,将 +fullhd()阅读全文
困惑是正常的,'static 生命周期约束本来就不简单原创分类:Rust发表于:2026-09-17阅读用时:27 分钟 (约 3988 字)阅读:0跟其他语言一样,static 变量的根本特征是:它的数据会被写进程序的数据段(.rodata / .data / .bss),进程启动时会装载到内存中,然后一直持续到程序结束,内存位置都不会发生变动。 所以,通常来说,static 变量是全局性的,但这不是绝对的。应该这样说:static 变量具备成为全局变量的条件,但是否是全局的取决于声明它的位置,因为,除了可以在 module 级别声明外,我们也可以在一个函数的局部作用域中声明一个 static 变量,它同样是放在数据段,运行时加载进内存的,只不过,它声明的作用域限制了它的“可见性”。 经常与 static 变量一起比较的是 const 常阅读全文