Введение
В этом лабе мы исследуем объявление use в Rust, которое позволяет связывать полный путь с новым именем для более удобного доступа и может использоваться с ключевым словом as, чтобы связывать импорты с другим именем. Примерные фрагменты кода демонстрируют, как использовать объявление use для упрощения доступа к функциям и модулям внутри вложенных путей.
Примечание: Если в лабе не указано имя файла, вы можете использовать любое имя файла, которое хотите. Например, вы можете использовать
main.rs, скомпилировать и запустить его с помощьюrustc main.rs &&./main.
Объявление use
Объявление use можно использовать для связывания полного пути с новым именем для более удобного доступа. Оно часто используется так:
use crate::deeply::nested::{
my_first_function,
my_second_function,
AndATraitType
};
fn main() {
my_first_function();
}
Вы можете использовать ключевое слово as, чтобы связать импорты с другим именем:
// Свяжите путь `deeply::nested::function` с `other_function`.
use deeply::nested::function as other_function;
fn function() {
println!("called `function()`");
}
mod deeply {
pub mod nested {
pub fn function() {
println!("called `deeply::nested::function()`");
}
}
}
fn main() {
// Более удобный доступ к `deeply::nested::function`
other_function();
println!("Entering block");
{
// Это эквивалентно `use deeply::nested::function as function`.
// Эта `function()` будет скрывать внешнюю.
use crate::deeply::nested::function;
// Связи `use` имеют локальную область видимости. В этом случае
// скрытие `function()` происходит только в этом блоке.
function();
println!("Leaving block");
}
function();
}
Резюме
Поздравляем! Вы завершили лабу по объявлению Use. Вы можете практиковаться в других лабах в LabEx, чтобы улучшить свои навыки.