Макрос dbg!
Макрос dbg! принимает выражение, выводит его значение
в стандартный поток ошибок вместе с именем файла, номером
строки и исходным текстом выражения, а затем возвращает
переданное значение обратно. Это удобно для быстрой отладки
без изменения логики программы: макрос можно вставлять прямо
в выражения. Параметром макрос принимает одно или несколько
выражений, которые нужно вывести.
Синтаксис
dbg!(expr)
dbg!(expr1, expr2, ...)
Пример
Давайте выведем значение переменной и убедимся, что макрос возвращает переданное значение:
fn main()
{
let x = 5;
let res = dbg!(x) + 1;
println!("{}", res);
}
Результат выполнения кода:
[src/main.rs:4] x = 5
6
Пример
Давайте передадим в макрос сразу несколько выражений:
fn main()
{
let a = 1;
let b = 2;
dbg!(a, b);
}
Результат выполнения кода:
[src/main.rs:4] a = 1
[src/main.rs:4] b = 2
Пример
Давайте выведем результат вызова метода над строкой:
fn main()
{
let res = dbg!("abcde".to_uppercase());
println!("{}", res);
}
Результат выполнения кода:
[src/main.rs:3] "abcde".to_uppercase() = "ABCDE"
ABCDE
Смотрите также
-
макрос
assert!,
который проверяет истинность условия -
макрос
assert_eq!,
который проверяет равенство двух значений -
макрос
panic!,
который прерывает выполнение программы с сообщением -
макрос
println!,
который выводит данные в стандартный поток вывода