命令行参数是指在运行程序时通过命令行传递给程序的值或选项;这些参数允许用户在启动程序时自定义程序的行为,而不需要修改代码。

cargo命令为例,通过给cargo命令传递不同的参数以执行不同的功能:

cargo new app1
cargo new --lib lib1
cargo run
cargo build

在 Rust 中,可以使用标准库中的std::env::args()函数获取命令行参数:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();

    //let argc = args.len(); //参数数量

    //println!("{}",args[0]); //程序路径,总是存在
    //println!("{}",args[1]); //第一个参数,如果有
    //println!("{}",args[2]); //第二个参数,如果有

    //遍历打印参数索引、值
    for (index, value) in args.iter().enumerate() {
        println!("{} => {}", index,value );
    }
}

使用cargo run运行程序时添加--;用于分隔cargo的参数和你程序的参数;

程序运行效果:

rust获取命令行参数
rust获取命令行参数

对于复杂参数的处理,推荐使用clap库;