Ключевое слово crate
Ключевое слово crate в Rust указывает на
текущий крейт (пакет). Оно используется в путях
для доступа к элементам текущего крейта, начиная
с его корня. Это особенно полезно в больших
проектах, где нужно явно обратиться к элементу
из корня крейта, независимо от текущего модуля.
Ключевое слово crate не принимает
параметров и используется только как часть пути.
Синтаксис
crate::module::item
Пример
Давайте создадим модуль math с функцией
add и вызовем её из другого модуля,
используя путь через crate:
mod math
{
pub fn add(a: i32, b: i32) -> i32
{
a + b
}
}
mod utils
{
pub fn calculate()
{
let res = crate::math::add(2, 3);
println!("{}", res);
}
}
fn main()
{
utils::calculate();
}
Результат выполнения кода:
5
Пример
Давайте создадим константу в корне крейта
и обратимся к ней из вложенного модуля
через crate:
const PI: f64 = 3.14;
mod geometry
{
pub fn show_pi()
{
println!("{}", crate::PI);
}
}
fn main()
{
geometry::show_pi();
}
Результат выполнения кода:
3.14