如果 “cobra.Command BoolVarP” 的默认值是 “true”,那么它始终为 “true”。

huangapple go评论104阅读模式
英文:

If defallt value of "cobra.Command BoolVarP" is "true", it is always "true"

问题

我的代码

    var require bool
    
    cmd.Flags().BoolVarP(&require, "require", "r", true,
        "default: true.")

如果默认值是"true",无论我是否添加"-r","require"始终为"true"。但如果默认值是"false",它可以正常工作。

请帮忙,谢谢!

英文:

my code

    var require bool
    
	cmd.Flags().BoolVarP(&require, "require", "r", true,
		"default: true.")

If default value is "true", weather I add "-r" or not, "require" is always "true". But if default value is "false", it works well.

Please help, Thanks!

答案1

得分: 9

如果布尔标志的默认值为true,则不传递该标志,只传递-r--require将导致其值为true。要将其设置为false,请使用--require=false

英文:

If the default value of a boolean flag is true, then not passing that flag and just passing -r or --require will result in true. To set it to false, use --require=false.

huangapple
  • 本文由 发表于 2021年7月30日 11:24:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/68585090.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定