90%的Rust新手都不知道的3个实用开发技巧小结

 更新时间:2026年06月05日 11:11:08   作者:Rust研习社  
Rust是一个新兴的系统级编程语言,以其独特的所有权系统和借用检查器而闻名,尽管它被认为是一门相对较难的语言,但只要掌握了正确的学习方法,你会发现Rust其实并不复杂,这篇文章主要介绍了90%的Rust新手都不知道的3个实用开发技巧,需要的朋友可以参考下

今天分享 3 个 90% 的 Rust 新手都不知道,但一旦用上就再也离不开的实用开发技巧,帮助你在学习 Rust 的道路上少走弯路。

dbg! 比 println! 更适合调试

很多新手开发者倾向于使用 println! 宏进行调试,但其实 Rust 提供了专门用于快速调试的输出宏 dbg!

fn main() {
    let x = 42;
    let y = 10;

    println!("x = {}", x);
    dbg!(x, y);
    dbg!(x + y * 2);
}

// Output:
// x = 42
// [src/main.rs:6:5] x = 42
// [src/main.rs:6:5] y = 10
// [src/main.rs:7:5] x + y * 2 = 62

从上面的示例可以看到,使用 println! 宏调试的时候需要手动写格式化字符串,而使用 dbg! 宏,则会自动打印表达式和值,还带文件名和行号。

除此之外,dbg! 宏还会返回传入表达式的值,这使得它可以无缝插入到现有代码中,不影响程序逻辑。

fn main() {
    let x = 10;
    let y = 20;

    let sum = dbg!(x) + dbg!(y);
    dbg!(sum);

    let sum = dbg!(calculate(x, y));
    dbg!(sum);
}

fn calculate(a: i32, b: i32) -> i32 {
    a + b
}

// Output:
// [src/main.rs:5:15] x = 10
// [src/main.rs:5:25] y = 20
// [src/main.rs:6:5] sum = 30
// [src/main.rs:8:15] calculate(x, y) = 30
// [src/main.rs:9:5] sum = 30

dbg! 宏不止可以直接嵌入表达式中,还可以嵌入函数调用当中,而这些是 println! 宏完全做不到的。非常的好用,反正我现在调试基本就是用 dbg! 宏了。

使用 todo! 宏占位

todo! 绝对是 Rust 标准库中最被低估且最实用的宏之一。在项目开发的早期时,让我们能专注于思考核心逻辑,而不被细节实现以及编辑器的报错打断。

fn calculate_tax(income: f64) -> f64 {
    todo!()
}

fn main() {
    let tax = calculate_tax(10000.0);
    dbg!(tax);
}

在上面的示例中,我们使用 todo! 宏进行占位,但是暂不实现的函数细节。

todo! 本质上是一个会触发 panic 的宏,所以当执行到它的时候就会抛出 panic。不过,todo! 宏有其明确的语义:这段代码尚未实现,后续需要补充

在实际使用时,我强烈建议携带上下文信息,如下所示:

fn calculate_tax(income: f64) -> f64 {
    todo!("执行步骤一 -> 步骤二 -> 步骤三")
}

同时它也支持式化字符串:

fn calculate_tax(income: f64) -> f64 {
    todo!("收入为:{},执行步骤一 -> 步骤二 -> 步骤三", income)
}

如果你使用的是 VSCode 编辑器,我强烈建议你装上 Todo Tree,这个插件可以检索到代码中的 todo! 宏,不过需要在其正则匹配的规则中添加上相应内容:

{
  "todo-tree.regex.regex": "(//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)|todo!",
}

实际效果如下所示:

使用 bacon 进行热更新

为了避免每次修改代码之后,都需要重新手动编译一次。在实际开发过程中,热更新方案是不可或缺的,而 Rust 生态中最常用的热更新方案是 bacon

cargo install --locked bacon

安装完成后,我们需要到项目根目录中初始化 bacon 配置文件。

bacon --init

它会自动生成 bacon.toml 配置文件,我们需要在配置文件中配置任务。这次的示例中,我们会用到它默认提供的任务 run

首先,执行 bacon 命令启动服务。

接下来,键入 Ctrl-j 打开任务列表,我们切换到 run 任务。

当在终端中看到相关的打印时,意味着我们切换到 run 任务了。

之后,我们每次修改代码并保存,bacon 都会监听并重新执行任务。

结语

以上就是今天分享的 3 个 Rust 实用技巧,这些技巧看似简单,但却能在日常开发中节省大量时间和精力。希望这篇文章能对你有所帮助,也祝愿每一位 Rust 新手在学习的道路上越走越顺。

到此这篇关于90%的Rust新手都不知道的3个实用开发技巧小结的文章就介绍到这了,更多相关Rust新手实用开发技巧内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • rust程序静态编译的两种方法实例小结

    rust程序静态编译的两种方法实例小结

    这篇文章主要介绍了rust程序静态编译的两种方法总结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-05-05
  • 深入了解Rust 结构体的使用

    深入了解Rust 结构体的使用

    结构体是一种自定义的数据类型,它允许我们将多个不同的类型组合成一个整体。下面我们就来学习如何定义和使用结构体,并对比元组与结构体之间的异同,需要的可以参考一下
    2022-11-11
  • Rust之Substrate框架中的pallet详解

    Rust之Substrate框架中的pallet详解

    Pallet是Substrate区块链的基础模块,它定义了区块链的业务逻辑和状态转换规则。开发人员可以使用现有的Pallet来快速构建区块链,也可以开发自定义的Pallet来实现特定的功能,感兴趣的小伙伴可以参考阅读下
    2023-05-05
  • Rust字符串匹配Rabin-Karp算法详解

    Rust字符串匹配Rabin-Karp算法详解

    Rabin-Karp算法也可以叫 Karp-Rabin 算法,它是用来解决多模式串匹配问题的,它的实现方式有点与众不同,首先是计算两个字符串的哈希值,然后通过比较这两个哈希值的大小来判断是否出现匹配,本文详细介绍了字符串匹配Rabin-Karp算法,需要的朋友可以参考下
    2023-05-05
  • Rust 错误处理高级应用最佳实践

    Rust 错误处理高级应用最佳实践

    本文介绍了Rust错误处理模型,重点讲解了Result类型、自定义错误、错误传播与转换、错误链等概念,并以文件操作、网络请求、数据库操作为例展示了其实战应用,最后总结了最佳实践,通过学习,可以编写更加健壮、可维护的代码,感兴趣的朋友一起看看吧
    2026-04-04
  • 选择Rust的理由:极致性能、内存安全和确定性的资源管理

    选择Rust的理由:极致性能、内存安全和确定性的资源管理

    文章主要介绍了Rust编程语言在内存管理、抽象层次、性能优化和开发体验等方面的优势,将其与C/C++、Java等语言进行对比,并通过具体示例展示了Rust在零成本抽象、所有权系统、零成本迭代、无态化等、零成本错误处理和高效并发等特性,文章还分析了这些特性的实现原理和优势
    2026-05-05
  • Rust中Protobuf使用详解

    Rust中Protobuf使用详解

    本文介绍了如何在Rust中使用Protobuf进行序列化和反序列化,并介绍了如何在项目中使用生成的Rust代码,通过include!宏和mod.rs文件的配置,可以方便地在Rust项目中使用Protobuf,感兴趣的朋友跟随小编一起看看吧
    2025-11-11
  • Rust中的Struct使用示例详解

    Rust中的Struct使用示例详解

    这篇文章主要介绍了Rust中的Struct使用示例,代码分为结构体和实例化与访问,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 使用Rust采集天气预报信息并实现实时更新数据功能

    使用Rust采集天气预报信息并实现实时更新数据功能

    Rust作为一种高效、安全的编程语言,可以用于开发各种应用,包括天气预报采集系统,本文将探讨如何使用Rust来采集天气预报信息,并实现实时更新数据的功能,文中通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Rust 函数式编程的具体使用

    Rust 函数式编程的具体使用

    本文主要介绍了Rust 函数式编程的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-06-06

最新评论