跳到主要内容

Rust 打印输出

提示
  1. 基本打印宏:Rust 使用 print!println! 宏在输出屏幕上打印文本、数字和变量,其中 println! 在每次打印后自动添加换行。
  2. 打印变量和格式化输出:可以用 {} 占位符在 print!println! 宏中打印变量,支持多个变量和字符串字面量的结合,以实现格式化输出。
  3. 占位符的灵活使用:支持指定占位符编号(如 {0}, {1})或直接在占位符内使用变量名,以及使用转义序列(如 \n)打印特殊字符,例如换行符。

在 Rust 中,我们使用 print! 宏在输出屏幕上打印字符串、数字和变量。例如,

fn main() {
print!("Hello, World!");
}

输出

Hello, World!

这里,print! 是一个宏,用于打印双引号内的文本。要了解更多关于宏的信息,请访问 Rust 宏

在 Rust 中,打印有两种变体:

  • print!()
  • println!()

Rust print! 宏

如前所述,print! 宏用于打印双引号内的文本。例如,

fn main() {
print!("Rust 很有趣! ");
print!("我喜欢 Rust 编程。");
}

输出

Rust 很有趣!我喜欢 Rust 编程。

你可以看到我们使用了两个 print! 宏来打印两个不同的字符串。然而,两个字符串都在同一行打印。

要在不同行分隔打印字符串,我们可以使用 println! 宏,它会在结尾添加一个新行字符。

Rust println! 宏

fn main() {
println!("Rust 很有趣!");
println!("我喜欢 Rust 编程。");
}

输出

Rust 很有趣!
我喜欢 Rust 编程。

在这里,你可以看到我们的输出是在两个不同的行打印的。

这是因为 println! 在结尾添加了一个新行字符(回车),所以第二个文本是在下一行打印的。

打印变量

我们可以使用相同的 print!println! 宏在 Rust 中打印变量。例如,

fn main() {
let age = 31;

// 使用 println! 打印变量
println!("{}", age);

// 使用 print! 打印变量
print!("{}", age);
}

输出

31
31

在上面的例子中,请注意打印语句:

print!("{}", age);
println!("{}", age);

这里,{} 是一个占位符,它会被逗号后变量的值替换。这就是为什么我们得到 31 而不是 {} 作为输出。

我们还可以在占位符中添加文本来格式化我们的输出。例如,

fn main() {
let age = 31;

// 使用 println! 打印变量
println!("年龄 = {}", age);
}

输出

年龄 = 31

在这里,你可以看到输出看起来更加信息丰富。

双引号内的占位符  被 age 变量替换

打印多个变量

我们可以使用一个 println! 宏同时打印多个变量。例如,

fn main() {
let age = 31;
let name = "Jack";

// 使用 println! 打印变量
println!("姓名 = {}, 年龄 = {}", name, age);
}

输出

姓名 = Jack, 年龄 = 31

在这里,你可以看到变量被依次打印出来。也就是说,第一个变量 name 替换了第一个占位符,第二个变量 age 替换了第二个占位符。

双引号内的占位符  被 name 和 age 变量替换

然而,我们也可以为占位符指定编号,以便以不同的顺序打印变量。例如,

fn main() {
let age = 31;
let name = "Jack";

// 使用 println! 打印变量
println!("姓名 = {0}, 年龄 = {1}", name, age);
}

输出

姓名 = Jack, 年龄 = 31

在这里,占位符

  • {0} 被第一个变量 name 替换
  • {1} 被第二个变量 age 替换

同样地,我们也可以在占位符内直接使用变量名。例如,

fn main() {
let age = 31;
let name = "Jack";

// 使用 println! 打印变量
println!("姓名 = {name}, 年龄 = {age}");
}

输出

姓名 = Jack, 年龄 = 31

在这里,我们没有在逗号后单独使用变量,而是直接在占位符内提供了它们。

  • {name} - 打印 name 变量的值
  • {age} - 打印 age 变量的值

打印换行符

在 Rust 中,我们可以使用转义序列 \n 打印换行符。例如,

fn main() {
print!("Rust 很有趣!\n我喜欢 Rust 编程。");
}

输出:

Rust 很有趣!
我喜欢 Rust 编程。

在这里,\n 是一个转义序列,添加了一个新行字符。因此,\n 后的文本在新行中打印。