【Rust】格式化输出

环境

  • Rust 1.54.0
  • VSCode 1.59.1

参考文档

https://doc.rust-lang.org/stable/rust-by-example/hello/print.html

示例

其中 println!print! 类似,只是多 ln 的会多一个换行,会输出到标准输出流。
eprint!eprintln! 会将内容输出到标准错误流。

换行

fn main() {
    println!();
}

普通文本

fn main() {
    println!("Hello World!"); // Hello World!
}

参数文本

其中 {} 会被后面的参数 31 替换,如果多个 {} 则依次替换后面的参数。

fn main() {
    println!("{} days", 31); // 31 days
    println!("{} {}", 31, "days"); // 31 days
}

位置参数

fn main() {
    println!("{0}-{1}-{1}-{0}", "A", "B"); // A-B-B-A
}

命名参数

fn main() {
    println!("name:{name}, age:{age}", age = 44, name = "jiangbo");
}

进制转换

fn main() {
    println!("十进制:{}", 63); // 十进制:63
    println!("二进制:{:b}", 63); // 二进制:111111
    println!("八进制:{:o}", 63); // 八进制:77
    println!("大写十六进制:{:X}", 63); // 大写十六进制:3F
    println!("小写十六进制:{:x}", 63); // 小写十六进制:3f
}

输出宽度

fn main() {
    // All of these print "Hello x    !"
    println!("Hello {:5}!", "x");
    println!("Hello {:1$}!", "x", 5);
    println!("Hello {1:0$}!", 5, "x");
    println!("Hello {:width$}!", "x", width = 5);
}

对齐和填充

  • < 左对齐
  • ^ 居中对齐
  • > 右对齐
fn main() {
    println!("Hello {:<5}!", "x"); // Hello x    !
    println!("Hello {:-<5}!", "x"); // Hello x----!
    println!("Hello {:^5}!", "x"); // Hello   x  !
    println!("Hello {:>5}!", "x"); // Hello     x!
}

精度

fn main() {
    let pi = 3.141592;
    println!("{:.3}", pi); // 3.142
}

转义

fn main() {
    println!("Hello {{}}"); // Hello {}
    println!("{{ Hello"); // { Hello
}

总结

使用了 println! 来展示不同功能的格式化输出。

附录

posted @ 2021-11-30 22:29  波尔  阅读(336)  评论(0编辑  收藏  举报