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

Макрос concat!

Макрос concat принимает произвольное количество строковых литералов и объединяет их в одну строку прямо во время компиляции. Параметрами макроса являются литералы, которые нужно соединить. Результатом является статическая строка &'static str, доступная без выделения памяти во время выполнения.

Синтаксис

concat!(literal1, literal2, ...)

Пример

Давайте объединим два строковых литерала "abcde" и "12345":

fn main() { let res = concat!("abcde", "12345"); println!("{}", res); }

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

"abcde12345"

Пример

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

fn main() { let res = concat!("ab", "cd", "ef", "gh"); println!("{}", res); }

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

"abcdefgh"

Пример

Давайте используем concat вместе с макросом stringify, чтобы получить имя переменной в виде строки:

fn main() { let my_var = 123; let res = concat!("name: ", stringify!(my_var)); println!("{}", res); }

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

"name: my_var"

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

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