使用 use

使用 use 声明,这样就不必手动加上作用域了:

  1. // 隐藏未使用代码警告的属性。
  2. #![allow(dead_code)]
  3. enum Status {
  4. Rich,
  5. Poor,
  6. }
  7. enum Work {
  8. Civilian,
  9. Soldier,
  10. }
  11. fn main() {
  12. // 明确地 `use` 各个名称使他们直接可用而不需要手动加上作用域。
  13. use Status::{Poor, Rich};
  14. // 自动地 `use` `Work` 内部的各个名称。
  15. use Work::*;
  16. // 等价于 `Status::Poor`。
  17. let status = Poor;
  18. // 等价于 `Work::Civilian`。
  19. let work = Civilian;
  20. match status {
  21. // 注意这里少了作用域,因为上面显式地使用了 `use`。
  22. Rich => println!("The rich have lots of money!"),
  23. Poor => println!("The poor have no money..."),
  24. }
  25. match work {
  26. // 再次注意到这里没有作用域。
  27. Civilian => println!("Civilians work!"),
  28. Soldier => println!("Soldiers fight!"),
  29. }
  30. }

参见:

matchuse