Макрос concat!
Макрос concat! принимает произвольное количество
аргументов и объединяет их в один строковый литерал
во время компиляции. Аргументами могут быть строковые
литералы, символьные литералы, числа и другие литералы,
которые приводятся к строке. Результатом макроса является
статическая строка &'static str, поэтому он часто
используется для формирования константных сообщений,
путей, ключей и других строк, известных на этапе сборки.
Синтаксис
concat!(arg1, arg2, arg3, ...)
Пример
Давайте объединим несколько строковых литералов в одну строку:
fn main()
{
let res = concat!("ab", "cd", "e");
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте объединим строковые литералы с числами и символами:
fn main()
{
let res = concat!("id_", 123, "_", 'x');
println!("{}", res);
}
Результат выполнения кода:
"id_123_x"
Смотрите также
-
макрос
stringify!,
который превращает выражение в строковый литерал -
макрос
env!,
который получает значение переменной окружения во время компиляции -
макрос
include_str!,
который включает содержимое файла как строку -
ключевое слово
const,
которое объявляет константы, часто формируемые через concat!