use 声明

use 声明可以将一个完整的路径绑定到一个新的名字,从而更容易访问。

  1. // 将 `deeply::nested::function` 路径绑定到 `other_function`。
  2. use deeply::nested::function as other_function;
  3. fn function() {
  4. println!("called `function()`");
  5. }
  6. mod deeply {
  7. pub mod nested {
  8. pub fn function() {
  9. println!("called `deeply::nested::function()`")
  10. }
  11. }
  12. }
  13. fn main() {
  14. // 更容易访问 `deeply::nested::funcion`
  15. other_function();
  16. println!("Entering block");
  17. {
  18. // 这和 `use deeply::nested::function as function` 等价。
  19. // 此 `function()` 将覆盖掉的外部同名函数。
  20. use deeply::nested::function;
  21. function();
  22. // `use` 绑定拥有局部作用域。在这个例子中,`function()`
  23. // 的覆盖只限定在这个代码块中。
  24. println!("Leaving block");
  25. }
  26. function();
  27. }