0248-CLAP-多个命名参数

环境

  • Time 2022-12-02
  • WSL-Ubuntu 22.04
  • CLAP 4.0.29

前言

说明

参考:https://docs.rs/clap/latest/clap/index.html

目标

编写可以解析多个命名的参数程序。

Cargo.toml

[package]
edition = "2021"
name = "game"
version = "1.0.0"

[dependencies]
clap = "4"

main.rs

use clap::{Arg, Command};

fn main() {
    let matches = Command::new("test")
        .author("JiangBo")
        .version("1.4.4")
        .about("一个测试程序")
        .arg(Arg::new("name").short('n').long("name").help("姓名"))
        .arg(Arg::new("age").short('a').long("age").help("年龄"))
        .get_matches();

    if let Some(param) = matches.get_one::<String>("name") {
        println!("输入的姓名是: {}", param);
    }

    if let Some(param) = matches.get_one::<String>("age") {
        println!("输入的年龄是: {}", param);
    }
}

查看帮助

root@jiangbo12490:~/git/game/target/release# ./game -h
一个测试程序

Usage: game [OPTIONS]

Options:
  -n, --name <name>  姓名
  -a, --age <age>    年龄
  -h, --help         Print help information
  -V, --version      Print version information

使用

root@jiangbo12490:~/git/game/target/release# ./game -n 张三 --age 44
输入的姓名是: 张三
输入的年龄是: 44

总结

编写了可以解析多个命名参数的命令行程序。

附录

posted @ 2024-08-20 16:30  jiangbo4444  阅读(10)  评论(0编辑  收藏  举报