使用 stdenvargs()

你可以使用 std::env::args() 函数访问传递给程序的命令行参数。这将返回一个 Args 迭代器,你可以将其循环或收集到 Vec 中。

通过参数迭代

use std::env;

fn main() {
    for argument in env::args() {
        if argument == "--help" {
            println!("You passed --help as one of the arguments!");
        }
    }
}

收集到 Vec

use std::env;

fn main() {
    let arguments: Vec<String> = env::args().collect();
    println!("{} arguments passed", arguments.len());
}

如果你这样调用你的程序,你可能会得到比你预期的更多的参数:

./example

虽然看起来没有传递任何参数,但第一个参数( 通常 )是可执行文件的名称。这不是一个保证,所以你应该总是验证并过滤你得到的参数。