美文网首页
Rust-命令行参数

Rust-命令行参数

作者: 笑破天 | 来源:发表于2023-03-06 18:21 被阅读0次
起因:

main方法断点不走。下面代码的在main方法里面第一行let前打断点,不走,之后的断点也都没走,直接报错error: the following required arguments were not provided:<EVENT>

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let settings::Settings {
        event_id,
        symbolicator_config,
        output_format,
        mode,
    } = settings::Settings::get()?;
...
}
原因:

let行是左值表达式,setting行是右值表达式,先走了setting行,然后在setting行里面get方法里面有个Cli::parse()方法,该方法是用来解析命令行参数的,在这个地方缺少固定参数event报错了,导致main方法里面第一行let行没走到。

rust命令行参数使用

// 三方库:clap = { version = "4.0.25", features = ["derive"] },用struct按顺序解析命令行参数
use clap::{Parser};

#[derive(Clone, Parser, Debug)]
struct Cli {
    pub event: String,//固定参数

    #[arg(long, short)] //选项参数,短选项和长选项
    pub org: Option<String>, //可选参数

    #[arg(long = "auth-token")]
    pub auth_token: Option<String>,

    #[arg(long)]
    offline: bool,
}
#[tokio::main]
async fn main() {
    let cli = Cli::parse();
}

相关文章

  • rust-参数校验宏实现

    0x00 关于参数校验 开题: 在Spring开发中, 我们习惯了, 在参数Bean中添加JSR标准的参数校验An...

  • 九、处理用户输入

    简单目录 1.命令行参数 2.处理命令行选项和命令行参数参数 3.read命令获取用户输入 1.命令行参数 在命令...

  • 常用的npm包

    命令行参数处理 nodejs 脚本,命令行参数处理,接受参数parse 可以使用 minimist 参数提示 co...

  • 特殊变量列表

    特殊变量列表 命令行参数 运行脚本时传递给脚本的参数称为命令行参数。命令行参数用 $n 表示,例如,$1 表示第一...

  • Java 命令行参数解析类库

    命令行参数解析类库1命令行参数解析类库2命令行参数解析类库3 JArgsJakarta Commons CLITE...

  • pflag命令行参数

    简介 本文讲解如何在go程序中使用命令行参数包pflag来获取gong语言编写的命令行程序的传入参数。 命令行参数...

  • 第14章:处理用户输入

    [TOC] #1. 命令行参数 向shell脚本传递数据的最基本方法是使用命令行参数。命令行参数允许在运行脚本时向...

  • flag

    编写命令行程序时会使用不同的启动参数(命令行参数)来控制程序的行为 Go编写命令行程序时,获取并解析命令行参数的方...

  • 2.2.7 shell位置参数与特殊变量

    命令行参数

  • shell环境变量一览

    变量说明*含有所有命令行参数(以单个文本值的形式)@含有所有命令行参数(以多个文本值的形式)#命令行参数数目?最近...

网友评论

      本文标题:Rust-命令行参数

      本文链接:https://www.haomeiwen.com/subject/xhbmldtx.html