Rust язык программирования учебник программирования Часть 3

Экосистема

 Официальный репозиторий пакетов crates.io (аналог https://www.npmjs.com/ , https://pypi.org/, или https://mvnrepository.com/), предлагает около 100.000 пакетов (“крейтов”).

Если вас интересует определённое направление использования, community языка может предложить вам целую линейку “Are we … yet?” сайтов где вы можете узнать о текущем уровне развитии экосистемы в разных областях.

Официально рекомендуемыми материалами для изучения Rust на самом деле является не этот курс, а курируемые широким community. Этот курс нацелен на больший интерактив, который начнётся со второго урока, и на передачу опыта, который автор сформировал программируя на Rust в течение нескольких лет. Помимо этого курса также есть превосходные уроки Rust в изложении Алексея Кладова для Computer Science Center и Александра Станового для 3-го курса ФПМИ МФТИ.

Я же постараюсь встать на плечи титанов и поделиться своими знаниями и опытом.

Увидимся на следующем уроке! Обещаю интерактив!

https://t.me/rust_code – больше информации в нашем телеграм канале

Написание и запуск программы на Rust
Нам нужно создать исходный файл для нашей программы на Rust. Файлы Rust всегда заканчиваются расширением .rs. Если вы используете более одного слова в имени файла, разделяйте их символом подчеркивания; например, вы должны использовать my_program.rs, а не myprogram.rs.

Теперь создайте новый файл и назовите его main.rs. Откройте файл и введите следующий код:

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


Сохраните файл и вернитесь в окно терминала. В Linux или macOS введите следующие команды:

$ rustc main.rs
$ ./main
Hello, world!


В Windows замените main на main.exe. Независимо от вашей операционной системы вы должны увидеть строку Hello, world! распечатать на терминал. Если да, то поздравляю! Вы официально написали программу на Rust. Это делает вас программистом на Rust! Добро пожаловать.

Анатомия программы на Rust
Теперь давайте рассмотрим, что только что произошло в вашем «Hello, world!» программа в деталях. Вот первая часть головоломки:

fn main() {

}


Эти строки определяют функцию в Rust. Основная функция особенная: это начало каждой программы на Rust. Первая строка говорит: «Я объявляю функцию с именем main, которая не принимает аргументов и ничего не возвращает». Если бы были аргументы, они были бы заключены в круглые скобки (( и )), а поскольку мы ничего не возвращаем из этой функции, мы можем полностью опустить возвращаемый тип.

Также обратите внимание, что тело функции заключено в фигурные скобки ({ и }). Rust требует их для всех тел функций. Считается хорошим стилем помещать открывающую фигурную скобку в ту же строку, что и объявление функции, с одним пробелом между ними.

Внутри функции main():

   println!("Hello, world!");

Эта строка выполняет всю работу в этой маленькой программе: она выводит текст на экран. Здесь важен ряд деталей. Во-первых, он имеет отступ в четыре пробела, а не вкладки.

Второй важной частью является строка println!(). Это вызов макроса Rust, именно так выполняется метапрограммирование в Rust. Если бы вместо этого вызывалась функция, это выглядело бы так: println() (без !). Мы обсудим макросы Rust более подробно позже, а пока вам нужно знать только то, что когда вы видите ! это означает, что вы вызываете макрос вместо обычной функции.

Далее идет «Привет, мир!» который является строкой. Строки — удивительно сложная тема в языке системного программирования, и это статически размещенная строка. Мы передаем эту строку в качестве аргумента функции println!, которая выводит строку на экран. Достаточно легко!

Строка заканчивается точкой с запятой (;). Rust — это язык, ориентированный на выражения, а это означает, что большинство вещей являются выражениями, а не утверждениями. ; указывает, что это выражение закончилось, и следующее готово начаться. Большинство строк кода Rust заканчиваются на ;.

Компиляция и запуск — это отдельные шаги
В разделе «Написание и запуск программы на Rust» мы показали вам, как запустить только что созданную программу. Сейчас мы разберем этот процесс и рассмотрим каждый шаг.

Перед запуском программы на Rust ее необходимо скомпилировать. Вы можете использовать компилятор Rust, введя команду rustc и передав ей имя исходного файла, например:

$ rustc main.rs
Если у вас есть опыт работы с C или C++, вы заметите, что это похоже на gcc или clang. После успешной компиляции Rust должен вывести двоичный исполняемый файл, который вы можете увидеть в Linux или macOS, введя команду ls в вашей оболочке следующим образом:

$ ls
main  main.rs


В Windows вы должны ввести:

$ dir
main.exe
main.rs


Это показывает, что у нас есть два файла: исходный код с расширением .rs и исполняемый файл (main.exe в Windows, main везде). Все, что осталось сделать, это запустить файл main или main.exe, например:

$ ./main  # or .\main.exe on Windows


Если бы main.rs был вашим “Hello, world!” программа, это напечатает Hello, world! к вашему терминалу.

Если вы пришли из динамического языка, такого как Ruby, Python или JavaScript, вы, возможно, не привыкли к тому, чтобы компиляция и запуск программы были отдельными шагами. Rust — язык с опережающей компиляцией, а это значит, что вы можете скомпилировать программу, передать ее кому-то еще, и они смогут запустить ее даже без установленного Rust. С другой стороны, если вы даете кому-то файл .rb, .py или .js, у него должна быть установлена ​​реализация Ruby, Python или JavaScript (соответственно), но вам нужна только одна команда для компиляции и запуска вашей программы. . Все является компромиссом в языковом дизайне.

Простая компиляция с помощью rustc подходит для простых программ, но по мере роста вашего проекта вы захотите иметь возможность управлять всеми параметрами, которые есть в вашем проекте, и упростить обмен своим кодом с другими людьми и проектами. Далее я познакомлю вас с инструментом под названием Cargo, который поможет вам писать реальные программы на Rust.

https://t.me/rust_code – больше информации в нашем телеграм канале

Ответить