Rust 输出到命令行学习笔记
介绍
在 Rust 中,输出到命令行是一个非常重要的功能。本文将介绍几种不同的方式来输出消息和数据。
println! 宏
println!
是一个宏,可以将内容输出到屏幕上,并在最后添加一个换行符。例如:
rustCopy Codefn main() {
println!("Hello, world!");
}
输出:
Copy CodeHello, world!
该宏还支持格式化字符串。例如:
rustCopy Codefn main() {
let name = "Alice";
let age = 30;
println!("{} is {} years old.", name, age);
}
输出:
Copy CodeAlice is 30 years old.
其中 {}
在字符串中表示一个占位符,可以在后面的参数中指定其值。
print! 宏
print!
宏与 println!
类似,但不会在最后添加一个换行符。例如:
rustCopy Codefn main() {
print!("Hello, ");
print!("world!");
}
输出:
Copy CodeHello, world!
eprint! 和 eprintln! 宏
eprint!
和 eprintln!
宏用于将错误消息输出到标准错误流而不是标准输出流。与 print!
和 println!
不同的是,它们不会影响标准输出流中的任何内容。例如:
rustCopy Codefn main() {
eprintln!("Error: something went wrong.");
}
输出:
Copy CodeError: something went wrong.
使用格式化宏显示数据
除了 println!
和 print!
宏外,Rust 还提供了多个格式化宏,可以将数据格式化为特定的字符串。例如,format!
宏用于创建格式化的字符串:
rustCopy Codefn main() {
let name = "Bob";
let age = 25;
let message = format!("{} is {} years old.", name, age);
println!("{}", message);
}
输出:
Copy CodeBob is 25 years old.
format!
宏类似于 println!
宏,但不会将字符串输出到屏幕上,而是将其作为结果返回。
使用标准库功能输出数据
除了简单的文本消息之外,您可能需要在命令行中输出其他类型的数据,如数字、向量等。为此,Rust 标准库提供了许多辅助函数以便于你将这些信息输出为字符串。
例如,如果您想要在屏幕上输出一个向量,可以使用 println!
宏和 join
方法:
rustCopy Codefn main() {
let numbers = vec![1, 2, 3];
println!("Numbers: {}", numbers.iter().map(|n| n.to_string()).collect::<Vec<_>>().join(", "));
}
输出:
Copy CodeNumbers: 1, 2, 3
在这个例子中,我们首先将向量中的每个数字转换为字符串,然后使用 join
方法将它们连接起来。
结论
这篇文章介绍了 Rust 中输出到命令行的几种不同方法。尽管这些输出功能看起来很简单,他们却为Rust中大量的数据处理提供了基础。