Введение
Добро пожаловать в Hello, World. Этот лаба является частью Rust Book. Вы можете практиковать свои навыки Rust в LabEx.
В этом лабе вы напишете свою первую программу на Rust, которая выведет на экран текст "Hello, world!".
This tutorial is from open-source community. Access the source code
Добро пожаловать в Hello, World. Этот лаба является частью Rust Book. Вы можете практиковать свои навыки Rust в LabEx.
В этом лабе вы напишете свою первую программу на Rust, которая выведет на экран текст "Hello, world!".
Теперь, когда вы установили Rust, настало время написать свою первую программу на Rust. В традиции изучения нового языка написать небольшую программу, которая выводит на экран текст Hello, world!, поэтому мы и сделаем то же здесь!
Примечание: В этой книге предполагается базовое знакомство с командной строкой. Rust не делает особых требований к вашему редактированию, инструментам или месту хранения вашего кода, поэтому если вы предпочитаете использовать интегрированную среду разработки (IDE) вместо командной строки, не стесняйтесь пользоваться вашим любимым IDE. Многие IDE сейчас имеют некоторую степень поддержки Rust; проверьте документацию IDE для получения подробностей. Команда Rust 一直在致力于通过
rust-analyzer提供出色的 IDE 支持。更多细节请参见附录 D。
Вы начнете с создания директории для хранения вашего кода на Rust. Для Rust не имеет значения, где находится ваш код, но для упражнений и проектов в этой книге мы рекомендуем создать директорию project в домашней директории и хранить все свои проекты там.
Откройте терминал и введите следующие команды, чтобы создать директорию project и директорию для проекта "Hello, world!" внутри директории project.
Для Linux, macOS и PowerShell на Windows введите это:
cd ~/project
mkdir hello_world
cd hello_world
Далее, создайте новый исходный файл и назовите его main.rs. Файлы на Rust всегда заканчиваются расширением .rs. Если вы используете несколько слов в имени файла, по соглашению используется нижнее подчеркивание для их разделения. Например, используйте hello_world.rs вместо helloworld.rs.
Теперь откройте файл main.rs, который вы только что создали, и введите код из Листинга 1-1.
Имя файла: main.rs
fn main() {
println!("Hello, world!");
}
Листинг 1-1: Программа, которая выводит Hello, world!
Сохраните файл и вернитесь в окно терминала в директории ~/project/hello_world. На Linux или macOS введите следующие команды для компиляции и запуска файла:
$ rustc main.rs
$./main
Hello, world!
Не зависимо от вашей операционной системы, строка Hello, world! должна быть выведена в терминал. Если вы не видите этот вывод, обратитесь к разделу "Решение проблем" для получения способов получения помощи.
Если Hello, world! действительно вывелась, поздравляем! Вы официально написали программу на Rust. Теперь вы Rust-программист - добро пожаловать!
Рассмотрим программу "Hello, world!" подробнее. Вот первый кусок пазла:
fn main() {
}
Эти строки определяют функцию с именем main. Функция main особая: она всегда является первой исполняемой кодом в каждой исполняемой программе на Rust. Здесь первая строка объявляет функцию с именем main, которая не имеет параметров и ничего не возвращает. Если бы были параметры, они бы находились внутри круглых скобок ().
Тело функции заключается в {}. Rust требует использования фигурных скобок вокруг всего тела функции. Хорошей практикой считается размещение открывающей фигурной скобки на той же строке, что и объявление функции, с добавлением одного пробела между ними.
Примечание: Если вы хотите придерживаться стандартного стиля в проектах на Rust, вы можете использовать автоматический инструмент форматирования под названием
rustfmt, чтобы форматировать свой код в определенном стиле (подробнее оrustfmtв Приложении D). Команда Rust включает этот инструмент в стандартное распределение Rust, так же, как это делает сrustc, поэтому он должен уже быть установлен на вашем компьютере!
Тело функции main содержит следующий код:
println!("Hello, world!");
Эта строка делает всю работу в этой маленькой программе: она выводит текст на экран. Здесь нужно обратить внимание на четыре важных детали.
Во - первых, стиль Rust предусматривает отступ в четыре пробела, а не табуляцию.
Во - вторых, println! вызывает макрос на Rust. Если бы это была вызов функции, то бы было написано println (без !). Мы поговорим о макросах на Rust более подробно в главе 19. На данный момент вам просто нужно знать, что использование ! означает, что вы вызываете макрос, а не обычную функцию, и что макросы не всегда следуют тем же правилам, что и функции.
Во - третьих, вы видите строку "Hello, world!". Мы передаем эту строку в качестве аргумента в println!, и строка выводится на экран.
В - четвертых, мы завершаем строку точкой с запятой (;), что указывает на то, что данное выражение закончено, и следующее готово начаться. Большинство строк кода на Rust заканчиваются точкой с запятой.
Вы только что запустили новую программу, поэтому рассмотрим каждый этап процесса.
Прежде чем запустить программу на Rust, ее необходимо скомпилировать с использованием компилятора Rust, введя команду rustc и указав имя исходного файла, например, так:
rustc main.rs
Если у вас есть опыт работы с C или C++, вы заметите, что это похоже на gcc или clang. После успешной компиляции Rust выводит двоичный исполняемый файл.
На Linux, macOS и PowerShell на Windows вы можете увидеть исполняемый файл, введя команду ls в оболочке:
$ ls
main main.rs
Затем вы запускаете файл main, например, так:
./main
Если ваш main.rs - это программа "Hello, world!", эта строка выводит Hello, world! в терминал.
Если вы более знакомы с динамическими языками, такими как Ruby, Python или JavaScript, вы, возможно, не привыкли компилировать и запускать программу как отдельные этапы. Rust - это язык компилируемый заранее (ahead-of-time compiled), что означает, что вы можете скомпилировать программу и передать исполняемый файл кому-то другому, и они смогут запустить его даже не имея установленного Rust. Если вы передаете кому-то файл .rb, .py или .js, они должны иметь установленные соответствующие реализации Ruby, Python или JavaScript. Но в этих языках для компиляции и запуска программы вам нужно использовать только одну команду. Все - это компромисс в дизайне языков.
Просто компилировать с использованием rustc подходит для простых программ, но при расширении проекта вы захотите управлять всеми параметрами и легко разделять свой код. Далее мы познакомим вас с инструментом Cargo, который поможет вам писать реальные программы на Rust.
Поздравляем! Вы завершили лабораторную работу Hello, World. Вы можете практиковаться в других лабораторных работах в LabEx, чтобы улучшить свои навыки.