Rust Tutorials

Rust provides a structured approach to learning systems programming and memory safety. Our tutorials cover Rust syntax, ownership concepts, and concurrent programming, suitable for beginners and experienced programmers. Through hands-on labs and practical examples, you'll gain proficiency in writing safe and efficient Rust code. Our Rust playground allows you to experiment with Rust features in real-time.

Обработка паники и безопасность памяти в Rust

Обработка паники и безопасность памяти в Rust

В этом практическом занятии мы изучаем макрос panic! в Rust, который можно использовать для генерации паники и начала разматывания стека, что заставляет программу вывести сообщение о панике и завершиться. Время выполнения освобождает все ресурсы, принадлежащие потоку, вызывая деструктор его объектов. Мы также рассмотрим пример использования макроса panic! для обработки деления на ноль и проверим, что это не приводит к утечкам памяти с использованием Valgrind.
Rust
Box, Stack and Heap

Box, Stack and Heap

В этом лабе исследуется концепция boxing, стека и кучи в Rust. Все значения в Rust по умолчанию выделяются на стеке, но их можно "упаковать" (выделить в куче), используя тип Box<T>. Box - это умный указатель на значение, выделенное в куче, и когда он выходит из области видимости, вызывается его деструктор и память в куче освобождается. Boxing позволяет создавать двойную косвенность и можно разыменовывать с помощью оператора *. В лабе приводятся примеры кода и объяснения того, как работает boxing и как это влияет на выделение памяти на стеке.
Rust
Онлайн-версия Rust Playground

Онлайн-версия Rust Playground

LabEx предлагает онлайн-версию Rust Playground, облачную среду, которая позволяет быстро настроить среду разработки на Rust для обучения и экспериментов.
Rust
Оператор Rust упрощает обработку ошибок

Оператор Rust упрощает обработку ошибок

В этом лабораторном задании оператор `?` представлен в качестве способа упрощения кода при цепочке результатов. Он используется в конце выражения, возвращающего `Result`, и упрощает код, автоматически обрабатывая ветви `Err` и `Ok`. Приведенный пример демонстрирует, как использовать оператор `?` в Rust для обработки различных математических операций и их возможных ошибок.
Rust
Исследование типов данных в Rust

Исследование типов данных в Rust

В этой лабораторной работе мы будем изучать концепцию типов данных в Rust, где каждое значение имеет определенный тип, который определяет, как оно обрабатывается, и в случаях, когда возможны несколько типов, необходимо добавить аннотации типов, чтобы предоставить компилятору необходимые сведения.
Rust
Cargo: Система сборки и менеджер пакетов Rust

Cargo: Система сборки и менеджер пакетов Rust

В этой лабораторной работе мы узнаем о Cargo, системе сборки и менеджере пакетов Rust, который упрощает такие задачи, как сборка кода, управление зависимостями и загрузка библиотек для проектов на Rust.
Rust
Разработка игры-угадайки

Разработка игры-угадайки

В этой лабораторной работе мы реализуем игру-угадайку на Rust, где программа генерирует случайное число и просит игрока угадать его, давая обратную связь о том, является ли попытка слишком низкой или слишком высокой, и поздравляя игрока, если он угадывает правильно.
Rust
References and Borrowing

References and Borrowing

В этой лабораторной работе мы узнаем, как использовать ссылки в Rust для заимствования значений, вместо того чтобы получать владение ими, что позволяет нам передавать и манипулировать данными, не возвращая владение обратно вызывающей функции.
Rust
Практика синтаксиса методов в Rust

Практика синтаксиса методов в Rust

В этой лаборатории методы объявляются с использованием ключевого слова fn и имени, могут иметь параметры и возвращаемое значение, и определяются в контексте структуры, при этом первый параметр всегда является self для представления экземпляра структуры, на котором вызывается метод.
Rust
Packages and Crates

Packages and Crates

В этой лабораторной работе мы рассмотрим пакеты и крейты, где крейт - это наименьшая единица кода, которую Rust компилятор рассматривает, и может быть бинарным крейтом или библиотечным крейтом, а пакет - это коллекция одного или более крейтов, которая предоставляет набор функций.
Rust
Определение перечисления

Определение перечисления

В этой лабораторной работе мы определим перечисление под названием IpAddrKind для представления возможных типов IP-адресов, включая версию четыре (V4) и версию шесть (V6).
Rust
Определение функций на Rust в LabEx

Определение функций на Rust в LabEx

В этой лабораторной работе вы научитесь определять и вызывать функции на Rust с использованием ключевого слова fn и традиционного соглашения именования в стиле snake case.
Rust
Тип среза

Тип среза

В этой лабораторной работе мы решим задачу программирования, написав функцию, которая принимает строку слов, разделенных пробелами, и возвращает первое слово, которое она находит в этой строке. Затем мы обсудим ограничения использования индексов для представления подстрок и решение этой проблемы с использованием строковых срезов в Rust.
Rust
Пример программы с использованием структур

Пример программы с использованием структур

В этой лабораторной работе мы напишем программу с использованием структур для вычисления площади прямоугольника, рефакторируя исходный код, в котором для ширины и высоты использовались отдельные переменные.
Rust
Пояснения и аннотации комментариев в Rust

Пояснения и аннотации комментариев в Rust

В этой лабораторной работе вы узнаете о комментариях в Rust и о том, как они используются для предоставления объяснений и аннотаций в исходном коде для лучшего понимания.
Rust
Концизный контрольный поток с if let

Концизный контрольный поток с if let

В этой лабораторной работе мы исследуем краткий контрольный поток синтаксиса if let, который позволяет комбинировать if и let в более короткой и читаемой форме для обработки значений, соответствующих одному шаблону, игнорируя остальные.
Rust
Определение модулей для управления областью действия и конфиденциальностью

Определение модулей для управления областью действия и конфиденциальностью

В этой лабораторной работе мы узнаем о модулях и том, как они позволяют нам организовать код внутри коробки, контролировать конфиденциальность элементов и обеспечить способ навигации по дереву модулей.
Rust
Что такое владение?

Что такое владение?

В этой лабораторной работе вы узнаете о владении в Rust,一套规则,用于管理程序如何管理内存,以及它如何影响语言的行为和性能。
Rust
  • Предыдущий
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • ...
  • 14
  • Следующий