5 个版本 (3 个重大变更)

0.5.0 2022 年 7 月 6 日
0.4.1 2019 年 11 月 27 日
0.3.0 2019 年 11 月 25 日
0.2.0 2019 年 11 月 21 日
0.1.0 2019 年 11 月 21 日

#603命令行界面

Download history 3698/week @ 2024-03-13 2273/week @ 2024-03-20 1888/week @ 2024-03-27 3127/week @ 2024-04-03 4596/week @ 2024-04-10 4446/week @ 2024-04-17 4706/week @ 2024-04-24 3913/week @ 2024-05-01 4465/week @ 2024-05-08 5706/week @ 2024-05-15 6798/week @ 2024-05-22 3731/week @ 2024-05-29 4810/week @ 2024-06-05 5019/week @ 2024-06-12 7674/week @ 2024-06-19 7558/week @ 2024-06-26

26,190 每月下载量
用于 8 crates

MIT 许可证

71KB
909

getargs

一个真正的零成本参数解析器,类似于 Unix 的 getopts

关于

getargs 是一个低级、高效且通用的参数解析器,其工作方式类似于 getopts。它通过生成一个选项流来工作,并在每个选项之后,您的代码决定是否需要检索该选项的值。

您无需预先声明一个有效选项列表,因此 getargs 不需要为它们分配空间或在运行时搜索它们。这也意味着您必须自己编写帮助信息,但由于 --help 只是一个另一个标志,因此对其使用没有限制。

特性

  • -f 和长 --flag 标志
  • 必需的隐式值 -i VALUE--implicit VALUE
  • 必需或可选的显式值 -eVALUE--explicit=VALUE
  • 位置参数和 --
  • 在参数列表的开始处或任何地方解析选项

好处

  • 零成本
  • 零复制
  • 零不安全代码
  • 零依赖
  • 零分配
  • 简单易用且功能丰富
  • #![no_std]-兼容
  • 兼容于 &str&[u8]

性能

getargs 在性能分析和优化方面受到了很多关注,在现代机器上,解析包含12个参数的短数组仅需0.2μs。

在我们的测试中,getargs 比crates.io上的所有其他参数解析库都要快。它的最接近的竞争对手是 gumdrop,最坏情况下仅慢30%,其次是 getopt,其速度是其三倍。其他库的性能会迅速下降;clap 比它慢45倍。(但这个比较并不完全公平,因为 clap 不仅仅是一个参数解析库,而是一个完整的命令行应用程序框架。它可能对于简单任务来说有些过度配置。)

示例

有关示例,请参阅 [示例目录][./examples/] 中的小型程序,您可以自行编译并运行这些程序,以查看 getargs 的工作方式。

许可证

MIT。

无运行时依赖