登录
首页 >  Golang >  Go问答

计数标志的 Golang CLI 应用

来源:stackoverflow

时间:2024-03-10 13:27:27 459浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《计数标志的 Golang CLI 应用》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我想定义一个 cli 标志来计算它出现的次数。

例如,让我们定义标志 --verbose 及其简写 -v

# 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")

变量详细程度将是一个保存重复次数的整数。

在该示例中,我使用了 pflag 的 countp 版本,它允许提供长标志名称和短标志名称(我认为这就是您希望找到的)。

今天关于《计数标志的 Golang CLI 应用》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>