Ключевое слово pub
Ключевое слово pub (сокращение от public) управляет видимостью элементов в Rust. По умолчанию все элементы (функции, структуры, поля, модули) являются приватными и доступны только внутри своего модуля. Добавление pub перед объявлением делает элемент публичным, позволяя обращаться к нему из других модулей и крейтов. Ключевое слово не принимает параметров, но может комбинироваться с crate, super и self для точного указания области видимости.
Синтаксис
pub fn function_name() {}
pub struct StructName {}
pub mod module_name {}
Пример
Давайте создадим модуль с публичной функцией и вызовем её из главной функции:
mod my_module
{
pub fn greet()
{
println!("Hello from module!");
}
}
fn main()
{
my_module::greet();
}
Результат выполнения кода:
"Hello from module!"
Пример
Давайте создадим структуру с публичным полем и получим к нему доступ извне:
mod my_module
{
pub struct Point
{
pub x: i32,
pub y: i32,
}
}
fn main()
{
let p = my_module::Point { x: 1, y: 2 };
println!("x = {}, y = {}", p.x, p.y);
}
Результат выполнения кода:
"x = 1, y = 2"