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}