3. Разбираемся с макросом print!
К этому моменту на вашем компьютере уже должен быть установлен Rust и настроена среда разработки. Не доверяйте приведенным здесь текстам примеров, запускайте их у себя на компьютере. Не ленитесь, вводите каждый пример вручную. Так вы отработаете навык печати и запомните синтаксис.
Перенос строки
В самом начале мы изучили макрос 
fn main() {
	print!("Первая строка");
	println!("Вторая строка");
	println!("Третья строка");
}Здесь третья строка перенеслась потому, что для второй использовался макрос 
Чтобы всё выводилось с новой строки, следует заменить 
fn main() {
	print!("Первая строка");
	print!("\n");
	println!("Вторая строка");
	println!("Третья строка");
}Вывод чисел и выражений
Помимо текста, с помощью макроса 
fn main() {
	print!("Сумма 3 + 5 = {}", 8);
}Аналогичный результат мы получим вычисляя выражение непосредственно в макросе.
fn main() {
	print!("Сумма 3 + 5 = {}", 3 + 5);
}В данном примере мы использовали плейсхолдер-заполнитель 
Несколько заполнителей
В одном макросе вы можете использовать несколько плейсхолдеров. Просто ставите скобки там где нужно в тексте, а за кавычками, через запятую, последовательно указываете эти значения.
fn main() {
	println!("Не приложишь {}, не появится {}.", "труд", "пруд");
}Позиционные аргументы
А что, если нужно несколько раз использовать одно слово? Давайте рассмотрим пример:
fn main() {
	println!("Не стыдно не {0} стыдно не {1}. Давайте {1}. ", "знать", "учиться");
}В этом случае макрос нумерует ваши значения и подставляет в заполнитель в соответствии с порядковым номером, начиная с нуля.
Преимущества позиционных аргументов:
- Список значений можно расположить в любом порядке.
- Значение можно ввести один раз и использовать в выводе несколько раз.
Именованные аргументы
Можно пойти ещё дальше, не нумеровать аргументы, а дать им осмысленные названия. В этом случае порядок аргументов уже не будет иметь значения.
fn main() {
	println!("Студент {name} сдал экзамен на {grade}.", grade = 5, name = "Вася");
}Здесь заполнитель принимает значение именованного аргумента, что может быть очень удобно для понимания что и куда подставиться в вашей программе, особенно, если текст будет длиннее и аргументов больше.
Использование переменных в скобках
Можно помещать имя переменной непосредственно в фигурные скобки. Но так имеет смысл делать только для самых простых случаев, т.к. этим вы ограничиваете возможности форматирования вывода.
fn main() {
	let n = 3 + 5;
	print!("Сумма 3 + 5 = {n}");
}Эта информация для общего развития. Переменные мы рассмотрим в следующих уроках.
Макрос format!()
Макрос формат имеет все те же возможности, что и 
Например:
fn main(){
	let st: String;
	st = format!("Три и пять равно {}", 3+5);
	println!("{}", st);
}Результатом этого кода будет связывание с переменной 
Форматирование вывода
В этот материал можно глубоко не погружаться, он только для ознакомления, чтобы вы знали потом где искать информацию.
Плейсхолдер для отладки программы
В будущем, в учебных примерах, вам понадобится выводить некоторые сложные типы данных, такие как векторы или массивы, которые не имеют четкого пользовательского представления. Для их вывода можно использовать плейсхолдер-заполнитель 
println!("{:?}", vec!["a","b", "c"]);Также есть такой  плейсхолдер-заполнитель 
println!("{:#?}", vec![Some("Hello"), None, Some("World")]);Попробуйте увидеть результат выполнения этого кода в своей среде разработки.
Плейсхолдер для конвертации чисел
Если есть необходимость преобразовать значение в двоичное, шестнадцатеричное или восьмеричное, используйте соответственно: 
Как ещё можно форматировать вывод
При выводе можно, например, округлить число. В данном примере до двух знаков после запятой:
fn main() {
	print!("{:.2}", 3.14159265);
}Попробуйте изменить параметры вывода и посмотреть как изменится результат.
Больше возможностей по данной теме вы найдете в документации по языку Rust: https://doc.rust-lang.org/std/fmt/. Не пугайтесь, со временем вы научитесь во всём этом разбираться.
Для просмотра заданий и решений, а также публикации своих решений необходимо зарегистрироваться на сайте.
Всё бесплатно, мы просто хотим с вами познакомиться и понять насколько актуально то, что мы делаем.