程序参数

标准库

命令行参数可使用 std::env::args 进行接收,这将返回一个迭代器,该迭代器会对 每个参数举出一个字符串。

  1. use std::env;
  2. fn main() {
  3. let args: Vec<String> = env::args().collect();
  4. // 第一个参数是调用本程序的路径
  5. println!("My path is {}.", args[0]);
  6. // 其余的参数是被传递给程序的命令行参数。
  7. // 请这样调用程序:
  8. // $ ./args arg1 arg2
  9. println!("I got {:?} arguments: {:?}.", args.len() - 1, &args[1..]);
  10. }
  1. $ ./args 1 2 3
  2. My path is ./args.
  3. I got 3 arguments: ["1", "2", "3"].

crate

另外,也有很多 crate 提供了编写命令行应用的额外功能。Rust Cookbook 展示了使用 最流行的命令行参数 crate,即 clap 的最佳实践。