除了执行以下操作外,还有更好的打印/格式化字符串缩进的方法吗

let text_to_indent = "Indented text!";
for i in 0..indent {
    print!(" ");
}
println!("{}", text_to_indent);

Rust 有更方便的方法吗?

推荐答案

println!("{:indent$}Indented text!", "", indent=indent);

(Playground)

第一个占位符进行缩进.它将使用参数ident中指定的填充(带空格)打印参数0(空字符串,"").

打印变量可以这样做:

println!("{:indent$}{}", "", text_to_indent, indent=level);

Rust相关问答推荐

关于如何初始化弱 struct 字段的语法问题

在Rust中有没有办法在没有UB的情况下在指针和U64之间进行转换?

这是不是在不造成嵌套的情况下从枚举中取出想要的变体的惯用方法?

如何正确地将App handler传递给Tauri中的其他模块?

如何导入crate-type=[";cdylib;]库?

关于 map 闭合求和的问题

`UnsafeCell` 在没有锁定的情况下跨线程共享 - 这可能会导致 UB,对吗?

如何限制 GtkColumnView 行数

std mpsc 发送者通道在闭包中使用时关闭

根据掩码将 simd 通道设置为 0 的惯用方法?

Rust 1.70 中未找到 Trait 实现

‘&T as *const T as *mut T’ 在 ‘static mut’ 项目中合适吗?

为什么带有生命周期指定的方法不能被调用两次?

无法理解 Rust 对临时值的不可变和可变引用是如何被删除的

为什么具有 Vec 变体的枚举没有内存开销?

如何获取包裹在 Arc<> 和 RwLock<> 中的 Rust HashMap<> 的长度?

在 Rust 中退出进程

需要括号的宏调用中的不必要的括号警告 - 这是编写宏的糟糕方法吗?

如何制作具有关联类型的特征的类型擦除版本?

在同一向量 Rust 中用另一个字符串扩展一个字符串