在 Rust 中,如何在格式中使用变量!宏?

Jus*_*ner 3 format rust

我有一个非常简单的程序:

fn main() {
    let y = format!("{:0>3}", 11);
    println!("{}", y);
}
Run Code Online (Sandbox Code Playgroud)

输出是字符串011。问题是宽度说明符 3 in{:0>3}来自这样的变量:

fn main() {
    let x = 3usize;
    let y = format!("{:0>3}", 11);
    println!("{}", y);
}
Run Code Online (Sandbox Code Playgroud)

如何使用变量x替换3in {:0>3}

Den*_*ret 7

fn main() {
    let x = 3;
    let y = format!("{:0>width$}", 11, width=x);
    println!("{}", y);
}
Run Code Online (Sandbox Code Playgroud)

由于可能很难记住整个格式化语法,因此习惯于查找引用是个好主意。