Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Rust: impl, struct, enum, method, encapsulation

Приведите пример impl-блока в Rust

Этот вопрос помогает понять, как добавлять методы и функции к структурам или перечислениям в Rust.

Короткий ответ

impl-блок используется для добавления методов к структурам или перечислениям. Это позволяет инкапсулировать логику, связанную с определённым типом данных.

Длинный ответ

impl (implementation) — это ключевое слово, которое позволяет определять методы для структур и перечислений. Методы, созданные в impl-блоке, становятся доступными для вызова через экземпляры структур или перечислений.

Пример:

struct Number(i32);

impl Number {
    	pub fn new(value: i32) -> Self {
        	Self(value)
    	}

    	pub fn get_value(&self) -> i32 {
        	self.0
    	}
}

fn main() {
    	let num = Number::new(42);
    	println!("Value: {}", num.get_value());
}

Особенности:

  • Методы с ключевым словом self могут изменять или использовать состояние объекта.

  • Можно добавлять как общие функции (static), так и методы, связанные с экземпляром.

Применение с перечислениями: Методы в перечислениях полезны для обработки вариантов.

enum Shape {
    	Circle(f32),
    	Rectangle(f32, f32),
}

impl Shape {
    	pub fn area(&self) -> f32 {
        	match self {
            		Shape::Circle(radius) => 3.14 * radius * radius,
            		Shape::Rectangle(width, height) => width * height,
        	}
    	}
}

Вывод:
impl-блок — мощный инструмент для добавления функциональности к типам, улучшая читаемость и поддержку кода.

  • Аватар

    Rust Guru

    Eduard Paul

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Rust

    Rust

Ключевые слова

#impl

#struct

#enum

#method

#encapsulation

Подпишись на Rust Developer в телеграм

  • Аватар

    Rust Guru

    Eduard Paul

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.