Rust

共 8 条相关内容

RustPress 配置与使用指南

2026-08-28

RustPress 配置与使用指南 写静态博客的人,写得久了大概率都经历过这样一种崩溃:文章写到十几篇时,本地预览秒开;等积累了上千篇长文,敲下 build 之后,电脑发出飞机的轰鸣,编译一次的时间足够去泡壶茶甚至下楼吃碗麻辣烫。 为什么静态站点越用越慢?难道内容变多了,就必须全量重编译一遍? 答案肯定是否定的。自然界中的树,一层层年轮叠加,是增量生长,网站内容应该像年轮一样,也可以增量增长。 R…

AI 富有四海,但却没有品味

2025-12-19

AI 富有四海,但却没有品味 如图所示,是 drill 的系统栏托盘图标。默认的托管图标,只能通过 tray.set_title 设置一个 title,只有一行,要显示两行,没有这个接口。 但 ClashX 明明实现了两行网速展示,它是怎么实现的? 本质上,ClashX 是在不停地重绘托盘图标,它的图标是动态生成的。 既然 ClashX 可以这么干,我也可以,没有理由我用了 Rust 语言开发,对…

Rust学习笔记4:智能指针、引用和并发

2025-03-11

Rust学习笔记4:智能指针、引用和并发 Drop特征 使用drop方法可以回收所有权,释放内存。drop方法不需要程序员手动调用,编译器会为我们自动插入drop代码并在变量退出作用域时调用之。调用顺序是: 先声明的后调用,后声明的先调用; 在结构体内,结构体的drop先调用,继而按照字段的定义顺序调用字段的drop方法。 对于下面这个示例: // 定义一个简单的结构体 struct Reso…

Rust学习笔记3:类型、智能指针

2025-03-11

Rust学习笔记3:类型、智能指针 空类型或称永远不返回类型 感叹号写在返回值的地方,返回该函数“永远不返回类型”,在函数内部,panic可以“返回”此类型。 fn main() { let i = clac(5); println!("i = {}", i); // i = 1 } fn clac(n:i32) -> i32 { match n…

Rust学习笔记2:for循环与迭代器、类型等

2025-03-08

Rust学习笔记2:for循环与迭代器、类型等 for循环与迭代器特征⭐ 在Rust中,for循环适用于数组、切片、向量、范围、字符串、字典: use std::collections::HashMap; fn main() { // 数组 let arr = [1, 2, 3]; for v in arr { println!("{}"…

Rust学习笔记1:闭包

2025-03-01

Rust学习笔记1:闭包 什么是闭包? 闭包是一种可以捕获调用者作用域变量的匿名函数。它既可以作为值赋值给变量,又可以作为实参传递给函数,它让函数变成了一种数据类型存在。还有,由于闭包不需要进行参数和返回值的类型标注,这可以省却我们不少事情。 下面这是一个好例子,cat的值是一个闭包,它捕捉了变量x。它的参数和返回值都没有类型标注,又没有fn、花括号,代码显得十分简洁。 fn main() { …

在Rust中{:?}与{:#?}有什么异同?

2025-02-23

在Rust中{:?}与{:#?}有什么异同? Rust 的格式化系统(std::fmt)是一个非常强大且灵活的工具,主要用于生成格式化的输出。在 Rust 的格式化输出中,{:?} 和 {:#?} 是两种常见的占位符,分别用于调试输出和美化调试输出。它们的设计和命名是基于 Rust 的格式化系统(std::fmt)的灵活性和扩展性考虑的。 1. 为什么有 {:?} 和 {:#?} 这样的定义? (…

已经到底啦