use 声明

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

1. // 将 `deeply::nested::function` 路径绑定到 `other_function`。
2. use deeply::nested::function as other_function;

4. fn function() {
5. println!("called `function()`");
6. }

8. mod deeply {
9. pub mod nested {
10. pub fn function() {
11. println!("called `deeply::nested::function()`")
12. }
13. }
14. }

16. fn main() {
17. // 更容易访问 `deeply::nested::funcion`
18. other_function();

20. println!("Entering block");
21. {
22. // 这和 `use deeply::nested::function as function` 等价。
23. // 此 `function()` 将覆盖掉的外部同名函数。
24. use deeply::nested::function;
25. function();

27. // `use` 绑定拥有局部作用域。在这个例子中,`function()`
28. // 的覆盖只限定在这个代码块中。
29. println!("Leaving block");
30. }

32. function();
33. }