[英]What is the difference between StringVar vs StringVarP or String vs StringP when using Go (golang), cobra and viper?
我正在维护一些使用 Go (golang)、 Viper和Cobra编写的代码。
在一条线上,它具有:
rootCmd.PersistentFlags().String("cfg", "", "A description")
然后在下一行它有
rootCmd.PersistentFlags().StringP("output", "o", ".", "Another description")
在这种情况下, String
和StringP
有什么区别?
查看各种教程中的示例用法,似乎有各种方法的P
和非P
版本,例如StringVarP
和StringVar
。
这些版本有什么区别? P
的意义是什么?
有没有办法可以判断给定方法是否具有P
或非P
对应物?
搜索引擎倾向于将我带到 cobra 或 viper 教程页面,它们使用这些方法而不解释P
或非P
对应物。
我在pflags
上发现了一些材料,这表明它可能与参数是否具有短(一个字母)形式有关。 会是这样吗?
编辑后说明:收到此问题的答案后,似乎spf13/pflag
确实被上述 golang 框架在后台使用。 但是,目前尚不清楚在使用 cobra 或 viper 时是否应该通过 pflags 文档查看 go。
由于这是一个问答网站,我已经恢复了一个编辑,该编辑删除了我在寻找这个答案时输入的许多关键字,因为我觉得其他寻找相同信息的人会以这种方式得到更好的服务。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.