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

Плейсхолдер {:?

}

Плейсхолдер {:?} применяется в макросах форматирования, таких как println!, format! и других, для вывода значений в отладочном формате. Он требует, чтобы тип значения реализовывал типаж Debug. В отличие от плейсхолдера {}, который использует типаж Display и предназначен для пользовательского вывода, {:?} показывает внутреннее представление значения, удобное для отладки. Параметром плейсхолдер принимает значение, которое нужно вывести в отладочном формате.

Синтаксис

println!("{:?}", value);

Пример

Давайте выведем строку "abcde" в отладочном формате:

fn main() { let res = "abcde"; println!("{:?}", res); }

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

"abcde"

Обратите внимание, что в отличие от плейсхолдера {}, плейсхолдер {:?} выводит строку вместе с кавычками.

Пример

Давайте выведем вектор чисел в отладочном формате:

fn main() { let res = vec![1, 2, 3, 4, 5]; println!("{:?}", res); }

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

[1, 2, 3, 4, 5]

Пример

Давайте выведем кортеж в отладочном формате:

fn main() { let res = (1, "abcde", 2.5); println!("{:?}", res); }

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

(1, "abcde", 2.5)

Пример

Давайте выведем структуру в отладочном формате. Для этого необходимо добавить атрибут #[derive(Debug)]:

#[derive(Debug)] struct Point { x: i32, y: i32, } fn main() { let res = Point { x: 1, y: 2 }; println!("{:?}", res); }

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

Point { x: 1, y: 2 }

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

  • плейсхолдер {},
    который выводит значение с помощью типажа Display
  • плейсхолдер {:#?},
    который выводит значение в красиво отформатированном виде
  • типаж Debug,
    который обеспечивает отладочный вывод значений
  • макрос format!,
    который создаёт строку с помощью форматирования
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить