不灭的焱

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

作者:AlbertWen  添加时间:2026-08-09 16:56:06  修改时间:2026-08-12 17:47:25  分类:01.Rust编程  编辑

提供 官方脚本 + 国内清华镜像源,解决下载慢、连接超时问题,适配 Ubuntu、Debian、CentOS、Rocky、Fedora 所有主流 Linux。

作者:AlbertWen  添加时间:2026-08-01 00:18:10  修改时间:2026-08-09 16:46:54  分类:01.Rust编程  编辑

本文基于 Axum 0.8.9tower-http 0.7.x 和 Rust 2024 Edition。Axum 是 Tokio 生态中的 HTTP 路由和请求处理库,核心特点是:通过 Router 配置路由、通过 Extractor 提取请求参数、通过 IntoResponse 生成响应,并直接使用 Tower/Tower HTTP 的中间件体系。(文档.rs)

作者:AlbertWen  添加时间:2026-07-22 23:53:44  修改时间:2026-08-09 16:49:39  分类:01.Rust编程  编辑

以下Rust代码的作用,请举例详细说明:

impl From<DbErr> for AppError { 
    fn from(value: DbErr) -> Self {
        Self::Internal(value.to_string()) 
    } 
}

如果有其他错误类型,如 :ApiError ,如何处理呢 ?

作者:AlbertWen  添加时间:2026-07-20 19:07:16  修改时间:2026-08-09 14:31:47  分类:01.Rust编程  编辑

这个错误表示:

Rust 编译过程中需要调用 GNU 工具链中的 dlltool.exe,但系统在 PATH 环境变量中找不到该程序。

error: error calling dlltool 'dlltool.exe': program not found

parking_lot_core 只是编译失败时显示出来的依赖库,通常不是 parking_lot_core 本身有问题,根本原因是 Windows 编译工具链不完整。

作者:AlbertWen  添加时间:2026-07-20 09:55:14  修改时间:2026-08-12 23:18:22  分类:01.Rust编程  编辑

在 Rust 中,std::error::Error 是用于表示“错误类型”的标准 trait。

它主要解决以下问题:

  • 让自定义类型成为标准意义上的错误类型
  • 统一不同错误类型的处理方式
  • 支持错误原因链 source()
  • 支持 Box<dyn Error> 动态错误
  • 让第三方错误处理库识别你的错误类型

需要特别注意:

Result<T, E> 中的 E 并不强制实现 std::error::Error

作者:AlbertWen  添加时间:2026-07-19 23:51:09  修改时间:2026-07-31 05:02:08  分类:01.Rust编程  编辑

PathBuf 是 Rust 标准库中用于表示和操作文件路径、目录路径的类型。

use std::path::PathBuf;

可以把它简单理解为:

PathBuf 就像路径专用的 String,拥有路径数据,并且可以修改。

作者:AlbertWen  添加时间:2026-07-19 22:39:54  修改时间:2026-08-11 07:58:21  分类:01.Rust编程  编辑

ok_or_else()Option<T> 提供的方法,用于把:

Option<T>

转换为:

Result<T, E>

它的核心规则是:

Some(value) → Ok(value)
None        → 执行闭包,生成 Err(error)

最常见的用途是:

OptionNone 时,将“没有值”转换成一个具体的业务错误,然后配合 ? 把错误向上传递。

作者:AlbertWen  添加时间:2026-07-19 21:57:17  修改时间:2026-08-10 08:05:35  分类:01.Rust编程  编辑

最常用的升级方法

如果 Rust 是通过官方推荐的 rustup 安装的,直接执行:

rustup update stable

这条命令会同时升级:

  • Rust 编译器 rustc
  • 包管理和构建工具 cargo
  • Rust 标准库
  • rustfmt、文档等已安装组件
作者:AlbertWen  添加时间:2026-07-19 21:46:38  修改时间:2026-08-02 05:06:15  分类:01.Rust编程  编辑

Rust 的 Cargo Workspace 原生提供了“统一管理依赖版本”的功能:

[workspace.dependencies]

它相当于多模块项目里的全局依赖版本配置。以后升级依赖时,只需要修改根目录的 Cargo.toml,各应用和模块都会继承新的版本。Cargo 官方称其为 Workspace dependency inheritance(工作空间依赖继承)。(Rust 文档)

作者:AlbertWen  添加时间:2026-07-19 21:33:32  修改时间:2026-08-02 22:58:32  分类:01.Rust编程  编辑

toml 是 Rust 生态中常用的 TOML 编码、解码库,支持通过 Serde 在 TOML 文本与 Rust 数据结构之间转换。它的定位类似于 serde_json:负责把配置文本解析成 Rust 对象,也负责把 Rust 对象序列化成 TOML。当前文档对应 1.1.x 版本,并支持 TOML 1.1.0 规范。(Docs.rs)