Подтвердить что ты не робот

Как добавить форматированную строку в существующую строку?

Используя format!, я могу создать String из строки формата, но что, если у меня уже есть String к которому я хотел бы добавить? Я хотел бы избежать выделения второй строки только для ее копирования и выбросить выделение.

let s = "hello ".to_string();
append!(s, "{}", 5); // Doesn't exist

Близким эквивалентом в C/С++ будет snprintf.

4b9b3361

Ответ 1

Теперь я вижу, что String реализует Write, поэтому мы можем просто использовать write!:

use std::fmt::Write;

pub fn main() {
    let mut a = "hello ".to_string();
    write!(&mut a, "{}", 5).unwrap();

    println!("{}", a);
}

(Игровая площадка)