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

Макрос println!

Макрос println! выводит форматированный текст в стандартный поток вывода (консоль) и автоматически добавляет символ новой строки \n в конце. Первым параметром макрос принимает строку формата, которая может содержать плейсхолдеры {}, а последующими параметрами - значения, которые нужно подставить вместо этих плейсхолдеров.

Строка формата может содержать как обычный текст, так и специальные последовательности для форматирования значений: {} для вывода через трейт Display, {:?} для вывода через трейт Debug, {:#?} для красивого отладочного вывода, {:x} для шестнадцатеричного представления, {:b} для двоичного и другие.

Синтаксис

println!("строка формата"); println!("строка формата", значение1); println!("строка формата", значение1, значение2);

Пример

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

fn main() { println!("Hello, world!"); }

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

"Hello, world!"

Пример

Давайте подставим значение переменной в строку формата с помощью плейсхолдера {}:

fn main() { let name = "abcde"; println!("Hello, {}!", name); }

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

"Hello, abcde!"

Пример

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

fn main() { let a = 1; let b = 2; let c = 3; println!("{} + {} = {}", a, b, a + b); println!("Values: {}, {}, {}", a, b, c); }

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

"1 + 2 = 3" "Values: 1, 2, 3"

Пример

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

fn main() { let a = "abcde"; let b = "12345"; println!("{0} {1} {0}", a, b); }

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

"abcde 12345 abcde"

Пример

Давайте выведем отладочную информацию о векторе с помощью плейсхолдера {:?}:

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

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

"[1, 2, 3, 4, 5]"

Пример

Давайте выведем число в разных системах счисления с помощью плейсхолдеров {:x}, {:b} и {:o}:

fn main() { let num = 255; println!("hex: {:x}", num); println!("bin: {:b}", num); println!("oct: {:o}", num); }

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

"hex: ff" "bin: 11111111" "oct: 377"

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

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