urfave-cli
Q7nl1s admin

项目地址:https://github.com/urfave/cli

urfave-cli 和 cobra 在实现上不尽相同,它们都是用 go 实现的命令行工具,但是在使用方法上存在些许差异,我个人还是倾向于 cobra 一些,因为它在结构上将应用程序代码和库的代码分开,使整个框架更易维护和阅读。

官方文档在这里Getting Started - urfave/cli,个人建议在没有特殊要求的情况下,只看 v2 版本就行了。

本人在阅读的时候产生了一个 puzzle ,即在 Flags 中介绍 Values from files(从文件中取值)的时候,它提到:

urfave-cli_0

其大意是从文件(例如 FilePath )设置的默认值优先于从环境(例如 EnvVar )设置的默认值。

而在 Flags 的末尾 当它对 Precedence(优先级)进行总结的时候又提到:

urfave-cli_1

即标志值源的优先级如下(从高到低):

  1. 来自用户的命令行标志值
  2. 环境变量(如果指定)
  3. 配置文件(如果指定)
  4. 标志上定义的默认值

很明显这两者是冲突的,介于过去几日发生的种种,我也没心情对其去做验证了,实操过的朋友可以在下面留个言,我在后面看到了会加进去。

 Comments
Comment plugin failed to load
Loading comment plugin
Powered by Hexo & Theme Keep
Unique Visitor Page View