如何在Rust中多次重复字符串?字符串乘以数字的示例
大家好!我刚开始学习Rust,遇到了一个意想不到的问题。在Python中,我习惯写类似 `"hello" * 3` 来得到 `"hellohellohello"`。在Rust中,我尝试了同样的操作:
```rust
fn main() {
let s = "hello" * 3;
println!("{}", s);
}
```
但编译器报错:`cannot multiply `&str` by `{integer}``。我知道Rust是强类型语言,字符串乘以数字默认没有定义,那么如何正确地多次重复字符串呢?
我读到Rust中有traits和方法,但还没搞明白。我需要动态重复字符串,比如在输出中创建分隔符:将`"---"`重复10次,得到30个连字符的字符串。另外,如果字符串很大,希望了解如何高效地做到这一点,避免不必要的内存分配。
请问,在Rust中如何正确解决这个问题?是否有内置函数或宏?还是需要自己通过循环实现?