跳到主要内容

Rust 格式化输出

阐述

  • print! 格式化文本输出到标准输出
  • println! 同上,但是添加换行符
  • eprint! 格式化文本输出到标准错误
  • eprintln! 同上,但是添加换行符
  • format! 格式化文本输出到 Rust 字符串

占位符

  • {} 实现了 fmt::Display 特征的类型
  • {:?} 实现了 fmt::Debug 特征的类型
  • {:#?} 同上,但是分行输出

参数

位置参数

{0}, {1} 等等来让指定位置的参数来替换占位符

fn main() {
println!("{}{}", 1, 2); // =>"12"
println!("{1}{0}", 1, 2); // =>"21"
// => Alice, this is Bob. Bob, this is Alice
println!("{0}, this is {1}. {1}, this is {0}", "Alice", "Bob");
println!("{1}{}{0}{}", 1, 2); // => 2112
}

命名参数

{name} 来把指定名称的参数来替换占位符

fn main() {
println!("{argument}", argument = "test"); // => "test"
println!("{name} {}", 1, name = 2); // => "2 1"
println!("{a} {c} {b}", a = "a", b = 'b', c = 3); // => "a 3 b"
}

捕获参数

fn get_person() -> String {
String::from("sunface")
}
fn main() {
let person = get_person();
println!("Hello, {person}!");
}

格式化参数

  • 小数点:{:.2}
  • 科学计数法:{:.2e}
  • 宽度:{:5}
  • 对齐:{:<5}, {:>5}

实例

性质

相关内容

参考文献