如何让Rust std::format的填充宽度可通过变量动态配置
实现方法
Rust 的格式化宏(println!/format! 等)原生支持用参数动态指定宽度、对齐等配置,你只需要把固定的宽度值换成 {} 占位符加 $ 标识符即可,示例代码如下:
fn main() { let title = " Title "; // 动态配置的宽度变量,可从配置文件、用户输入等任意来源获取 let width = 11; // 宽度位置用 width$ 标记,代表取传入的 width 参数作为宽度值 println!("┌{:─^width$}┐", title, width = width); }
运行这段代码输出和你原来的静态写法完全一致:
┌── Title ──┐
补充说明
- 如果你需要连填充字符也做成动态配置,也可以用类似的参数占位写法:
fn main() { let title = " Title "; let width = 11; let fill_char = '─'; println!("┌{:fill^width$}┐", title, fill = fill_char, width = width); } - 格式化占位符中
$前缀的命名需要和你传入宏的参数名对应即可。
内容的提问来源于stack exchange,提问作者Dominik
相关产品推荐
相关产品推荐

