Rust в 2025 году: пошаговое руководство для новичков

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Введение в Rust: почему стоит начать прямо сейчас

Язык программирования Rust уже несколько лет подряд признаётся одним из самых любимых среди разработчиков. В 2025 году он окончательно закрепился в топе языков для системного программирования, веб-разработки и даже создания игр. Его главные преимущества — невероятная производительность на уровне C/C++ и абсолютная безопасность памяти без сборщика мусора. Компании вроде Microsoft, Google, Amazon и Mozilla активно внедряют Rust в свои проекты.

Если вы новичок и хотите войти в мир современного программирования, Rust — отличный выбор. В этой статье мы разберём, с чего начать изучение Rust в 2025 году: от установки до первого осмысленного проекта.

Установка и настройка окружения Rust

Установка через rustup

Самый простой и рекомендуемый способ установить Rust — использовать официальный инструмент rustup. Он позволяет управлять версиями компилятора и устанавливать необходимые компоненты.

Для установки на Linux и macOS откройте терминал и выполните:

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Для Windows скачайте установщик с официального сайта и запустите его.

После завершения установки проверьте версию компилятора:

rustc --version

Вы должны увидеть что-то вроде:

rustc 1.79.0 (2025-02-15)

Что входит в стандартную установку

  • rustc — компилятор Rust.
  • Cargo — система сборки и менеджер пакетов (аналог pip для Python).
  • rustup — утилита для обновления и управления инструментами.
  • rust-docs — локальная документация.

Обновить установку до последней версии можно командой:

rustup update

Создание первого проекта на Rust

В Rust не принято писать код в одном файле (хотя это возможно). Вместо этого вы создаёте проект с помощью Cargo. Это даёт готовую структуру папок и файлов.

Команда для нового проекта

cargo new hello_rust

Эта команда создаст папку hello_rust со следующей структурой:

hello_rust/
├── Cargo.toml
└── src/
    └── main.rs

Файл Cargo.toml — это манифест проекта (аналог package.json или requirements.txt). Файл src/main.rs — точка входа в программу.

Пишем "Hello, World!"

Откройте файл src/main.rs и замените его содержимое на:

fn main() {
    println!("Привет, мир! Учим Rust в 2025 году!");
}

Теперь соберите и запустите проект одной командой:

cargo run

Вы должны увидеть в терминале:

   Compiling hello_rust v0.1.0 (путь/к/проекту)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.23s
     Running `target/debug/hello_rust`
Привет, мир! Учим Rust в 2025 году!

Поздравляю! Вы только что написали и запустили свою первую программу на Rust.

Основы синтаксиса Rust для новичков

Давайте разберём ключевые концепции, которые нужно знать в самом начале.

Переменные и неизменяемость

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

fn main() {
    let x = 5;          // неизменяемая переменная
    // x = 6;          // ОШИБКА: нельзя изменить неизменяемую переменную
    println!("x = {}", x);

    let mut y = 10;     // изменяемая переменная (ключевое слово mut)
    y = 20;
    println!("y = {}", y);
}

Типы данных

Rust — строго типизированный язык, но компилятор часто может вывести тип автоматически.

fn main() {
    let a: i32 = -100;          // 32-битное целое со знаком
    let b: u64 = 100;           // 64-битное целое без знака
    let c: f64 = 3.14159;       // 64-битное число с плавающей точкой
    let d: bool = true;         // логический тип
    let e: char = 'R';          // символ Unicode

    println!("{} {} {} {} {}", a, b, c, d, e);
}

Функции

Функции объявляются с помощью ключевого слова fn. Обратите внимание на стрелку -> для указания возвращаемого типа.

fn add(x: i32, y: i32) -> i32 {
    x + y  // последнее выражение — это возвращаемое значение (без точки с запятой)
}

fn main() {
    let result = add(5, 7);
    println!("5 + 7 = {}", result);
}

Управляющие конструкции

Условные операторы и циклы выглядят привычно:

fn main() {
    let number = 7;

    // if-else
    if number > 5 {
        println!("Число больше 5");
    } else {
        println!("Число меньше или равно 5");
    }

    // цикл loop (бесконечный, выход по break)
    let mut counter = 0;
    loop {
        counter += 1;
        if counter == 3 {
            break;
        }
    }
    println!("counter = {}", counter);

    // цикл for по диапазону
    for i in 0..5 {
        println!("i = {}", i);
    }
}

Практический пример: программа угадай число

Лучший способ закрепить знания — написать небольшую игру. Вот пример простой программы "Угадай число" на Rust.

use std::io;
use rand::Rng;
use std::cmp::Ordering;

fn main() {
    println                

Блоги

Рекомендаций по книгам