不灭的焱

革命尚未成功,同志仍须努力 下载Java21

作者:AlbertWen  添加时间:2026-07-12 01:56:51  修改时间:2026-07-12 02:00:01  分类:01.Rust编程  编辑

SeaORM 主要提供两种事务写法:

  1. transaction(...):闭包事务,闭包返回 Ok 自动提交,返回 Err 自动回滚。
  2. begin():手动开启事务,再调用 commit()rollback()
作者:AlbertWen  添加时间:2026-07-09 22:30:14  修改时间:2026-07-10 04:34:35  分类:01.Rust编程  编辑

dotenvy 是 Rust 里用来读取 .env 文件的库。它会把 .env 文件里的配置项加载成环境变量,然后你就可以通过 std::env::var()dotenvy::var() 读取。

作者:AlbertWen  添加时间:2026-07-09 17:47:01  修改时间:2026-07-11 10:09:59  分类:01.Rust编程  编辑

你的报错核心原因是:VS Code 现在用的是 rustc main.rs 直接编译,而不是 cargo run

日志里很明显:

rustc main.rs

直接用 rustc 编译时,如果没有指定 edition,会按旧的 Rust 2015 处理;而 async fn 需要 Rust 2018 或更高版本。Cargo 官方文档也说明,Cargo.toml 里的 edition 会决定包的 Rust Edition;如果没写 edition,则会为了兼容性默认按 2015 处理。(Rust 文档)

作者:AlbertWen  添加时间:2026-07-09 15:58:00  修改时间:2026-07-11 04:02:12  分类:01.Rust编程  编辑

anyhow 主要用于 应用程序层面的错误处理,它提供了 anyhow::Erroranyhow::Result<T>,可以让你在业务代码、命令行工具、Web 后端、脚本型程序里更轻松地处理各种错误。官方文档说明,anyhow::Error 是一个基于 trait object 的错误类型,适合 Rust 应用程序中进行惯用的错误处理;anyhow::Result<T> 等价于 Result<T, anyhow::Error>。(文档.rs)

作者:AlbertWen  添加时间:2026-07-08 23:54:52  修改时间:2026-07-12 01:56:01  分类:01.Rust编程  编辑

下面给你一份 SeaORM 入门到可落地使用教程,以 Rust + SeaORM + MySQL8.0 为主线。

先说版本选择:SeaORM 官方站当前默认展示 2.0.x 文档,但 docs.rs 上 sea_orm 的 latest 仍显示 1.1.20;同时 SeaORM 1.1.x 官方文档页提示该版本“不再积极维护”,建议看 2.0.x。为了你现在做 Rust Web 项目更稳,我下面用 SeaORM 1.1.x 稳定写法讲,后续升级 2.0 时再单独处理差异。(Docs.rs)

作者:AlbertWen  添加时间:2026-07-08 10:33:39  修改时间:2026-07-12 02:41:07  分类:01.Rust编程  编辑

AI回复:我会从“移动语义 → Clone → Copy → derive 自动实现 → 实战取舍”这条线讲,重点放在你写业务代码时怎么判断一个类型该不该 Copy/Clone

作者:AlbertWen  添加时间:2026-07-06 11:40:57  修改时间:2026-07-09 12:44:18  分类:01.Rust编程  编辑

下面给你一套可落地的 RBAC 方案,技术栈按:Salvo 0.93.0 + Sqlx + MySQL 8.0 + Redis 6。 Salvo 当前 docs.rs 最新版本显示为 0.93.0,发布时间为 2026-05-01;Salvo 的 Handler 既可以作为最终接口处理器,也可以作为中间件,这很适合实现“登录认证中间件 + 权限校验中间件”。

作者:AlbertWen  添加时间:2026-07-06 00:47:44  修改时间:2026-07-09 10:14:17  分类:01.Rust编程  编辑

for n in &vec 拿到的是 &T,不是 T。要不要写 *n,取决于你后面这个地方需要的是“引用”还是“值本身”。

作者:AlbertWen  添加时间:2026-07-06 00:16:30  修改时间:2026-07-09 03:42:14  分类:01.Rust编程  编辑

& 的主要作用是“借用”,也就是拿到某个值的引用,但不取得它的所有权。

作者:AlbertWen  添加时间:2026-07-05 22:05:25  修改时间:2026-07-09 09:57:49  分类:01.Rust编程  编辑

Result 与可恢复的错误

大部分错误并没有严重到需要程序完全停止执行。有时,一个函数会因为一个容易理解并做出反应的原因失败。例如,如果因为打开一个并不存在的文件而失败,此时我们可能想要创建这个文件,而不是终止进程。

回忆一下第 2 章 “使用 Result 类型来处理潜在的错误” 部分中的那个 Result 枚举,它定义有如下两个成员,Ok 和 Err

enum Result<T, E> {
    Ok(T),
    Err(E),
}