Golang CLI cobra计数标志



我想定义一个CLI标志,用于统计它出现的次数。

例如,让我们用缩写-v:定义标志--verbose

# verbose value should be 0
> myCmd
# verbose value should be 1
> myCmd -v
# verbose value should be 2
> myCmd -vv
# ...

有什么内在的方法可以实现吗?

来源https://github.com/spf13/cobra:";标志功能由pflag库"提供;

pflag库中有几个计数标志选项,如中所述:https://godoc.org/github.com/spf13/pflag#Count

可以给出一个跨越许多文件的长示例,但关键是使用这样的东西(在这种情况下,"run"是cobra命令(:

runCmd.Flags().CountP("verbose", "v", "counted verbosity")

要稍后在runCmd的Run函数中检索该值,请使用以下命令:

verbosity, _ := cmd.Flags().GetCount("verbose")

变量verbose将是一个int,包含重复次数。

在这个例子中,我使用了pflag的CountP版本,它允许提供长和短标志名称(我认为这正是您希望找到的(。

相关内容

  • 没有找到相关文章

最新更新