English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Вывод Rust в командную строку

До того как приступить к изучению языка Rust, нам нужно сначала научиться выводить текст в командную строку, это几乎是 навык, который необходим перед изучением каждого языка, так как вывод в командную строку几乎是 единственный способ выражения результатов программы на этапе изучения языка.

В предыдущем примере программы Hello, World, уже было рассказано о способах вывода строки, но это не было полно, возможно, многие из вас удивлены, почему после println!("Hello World") у println есть еще один символ !, неужели после каждого Rust функции нужно добавлять восклицательный знак? Естественно, это не так. println не функция, а макрос. Здесь не нужно углубляться в то, что такое макрос, это будет рассмотрено в后面的章节ах, и это не повлияет на следующее обучение.

Основные методы вывода текста в Rust: println!() и print!(). Эти "функции" являются методами вывода строк в командную строку, различие только в том, что前者 добавляет символ новой строки в конце вывода. При использовании этих "функций" для вывода информации, первым параметром является строка формата, а затем следуют переменные, которые соответствуют "заполнительным символам" в строке формата, что очень похоже на функцию printf в языке C. Однако, знаки форматирования в строках формата Rust не имеют формы "% + литера", а представляют собой фигурные скобки {}.

fn main() { 
    let a = 12; 
    println!("a is {}", a); 
}

Результат выполнения программы:

a is 12

Если нужно вывести a дважды, то это можно записать:

println!("a is {}, a again is {}", a, a);

На самом деле есть лучший способ:

println!("a is {0}, a again is {0}", a);

В фигурных скобках можно положить цифру, которая后将 переменные в виде массива, индекс begins с 0.

Если нужно вывести { или } Что же делать? В строке формата можно использовать {{ и }} Пробелы в фигурных скобках нужно экранировать. Однако другие часто используемые символы для escaping такие же, как и в языке C, они начинаются с обратной косой черты.

fn main() { 
    println!("{{}}"); 
}

Результат выполнения программы:

{}