[译]你还在使用println
调试Rust吗?
原文链接: https:// blog.knoldus.com/are-yo u-still-using-println-in-rust-for-debugging/
原文作者: Ayush Mishra
译者: readlnh
打印到标准输出是一个用来追踪代码和找出潜在问题的好办法。很多程序员在编码时会使用很多的println来查看他们的代码在不同层次时的状态。如果你是一个Java后端,那么你肯定用过System.out.println() 和System.err.println()方法。如果你是一个Scala后端,那么你肯定用过println。
作为一个Rustacean,你可能对println和eprintln宏非常熟悉。它们两者功能一致除了eprintln是输出到io::stderr而不是io::stdout。
在这篇博客里,我会介绍一个在Rust1.32.0里新增的用于调试的宏dbg。
这个宏用于快速和脏(dirty)测试,你可以用它来检查给定表达式的值。
让我一起通过下面的例子来看看println和dbg的区别吧。
fn fibonacci(n: u32) -> u32 {
if n <= 2 {
println!("n <= 2");
1
} else {
let n = fibonacci(n - 1) + fibonacci(n - 2);
print