当使用命令行时,参数管理通常比较复杂,尤其是随着子参数增多,通过 clap 三方库可以很方便进行管理。
简介
可以通过 cargo add clap --features derive
命令添加依赖,此时会在 Cargo.toml
中添加如下内容,这也可以手动添加。
clap = { version = "4.4.6", features = ["derive"] }
如下是一个简单的示例。
use clap::Parser;
/// Simple program to greet a person
#[derive(Parser, Debug)]
#[command(author, version, about, long_about = None)]
struct Args {
/// Name of the person to greet
#[arg(short, long)]
name: String,
/// Number of times to greet
#[arg(short, long, default_value_t = 1)]
count: u8,
}
fn main() {
let args = Args::parse();
for _ in 0..args.count {
println!("Hello {}!", args.name)
}
}
这是官方提供的 derive
方式实现。