Avatar ·

如何在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中如何正确解决这个问题?是否有内置函数或宏?还是需要自己通过循环实现?