РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
752 of 1245 menu

Макрос format_args!

Макрос format_args! создаёт значение типа std::fmt::Arguments, содержащее ссылку на строку формата и ссылки на аргументы. Это значение можно передавать в функции, принимающие Arguments, например в println, write или format. Параметрами макрос принимает строку формата с плейсхолдерами и значения, которые нужно подставить вместо этих плейсхолдеров. Основное преимущество макроса в том, что он не выполняет выделение памяти в куче - аргументы хранятся на стеке.

Синтаксис

format_args!("строка формата", аргумент1, аргумент2, ...)

Пример

Давайте создадим аргументы форматирования и передадим их в функцию println:

fn main() { let name = "abcde"; let args = format_args!("value: {}", name); println!("{}", args); }

Результат выполнения кода:

value: abcde

Пример

Давайте передадим аргументы форматирования в функцию format для получения строки:

fn main() { let n = 12345; let s = format!("{}", format_args!("number: {}", n)); println!("{}", s); }

Результат выполнения кода:

"number: 12345"

Пример

Давайте используем несколько плейсхолдеров с разными типами данных:

fn main() { let args = format_args!("{} + {} = {}", 2, 3, 5); println!("{}", args); }

Результат выполнения кода:

2 + 3 = 5

Смотрите также

  • макрос format!,
    который создаёт новую строку с помощью форматирования
  • макрос println!,
    который выводит отформатированный текст в стандартный поток
  • макрос print!,
    который выводит отформатированный текст без перевода строки
  • макрос write!,
    который записывает отформатированный текст в буфер
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить