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