使用 use
使用 use 声明的话,就可以不写出名称的完整路径了:
1. // 该属性用于隐藏对未使用代码的警告。
2. #![allow(dead_code)]
4. enum Status {
5. Rich,
6. Poor,
7. }
9. enum Work {
10. Civilian,
11. Soldier,
12. }
14. fn main() {
15. // 显式地 `use` 各个名称使他们直接可用,而不需要指定它们来自 `Status`。
16. use Status::{Poor, Rich};
17. // 自动地 `use` `Work` 内部的各个名称。
18. use Work::*;
20. // `Poor` 等价于 `Status::Poor`。
21. let status = Poor;
22. // `Civilian` 等价于 `Work::Civilian`。
23. let work = Civilian;
25. match status {
26. // 注意这里没有用完整路径,因为上面显式地使用了 `use`。
27. Rich => println!("The rich have lots of money!"),
28. Poor => println!("The poor have no money..."),
29. }
31. match work {
32. // 再次注意到没有用完整路径。
33. Civilian => println!("Civilians work!"),
34. Soldier => println!("Soldiers fight!"),
35. }
36. }
