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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что такое владение?
В этой лабораторной работе вы узнаете о владении в Rust,一套规则,用于管理程序如何管理内存,以及它如何影响语言的行为和性能。
Rust