gpt4 book ai didi

go - 如何引用go-flag IsSet,需要功能代码示例

转载 作者:IT王子 更新时间:2023-10-29 01:41:46 24 4
gpt4 key购买 nike

Go 的新手,有一个基本的概念问题(我认为)...

尝试使用 github.com/jessevdk/go-flags 并使其大部分正常工作。 --help 和诸如此类的东西工作正常,正在传递标志等。

我需要了解选项是通过标志设置的,还是通过使用提供的默认值的 go-flags 解析器设置的。看起来 go-flags 有一个“IsSet”函数,但我不知道如何引用它。假设:

var opts struct {
Port int `short:"p" long:"Port" description:"IP port" default:"1111"
}
_, err := flags.Parse(&opts)

我可以通过“opts.Port”引用该值,但我如何才能知道该选项是通过标志设置的还是默认设置的?非常感谢!

最佳答案

想通了:

解析器 := flags.NewParser(&opts, flags.Default)
o := parser.FindOptionByLongName("端口)
如果 o.IsSet() {}

问题是,如果在命令行上使用了该标志,或者如果它是通过默认设置设置的,则 IsSet() 为真。

因此解决了引用 IsSet() 的表面问题,但仍在寻找判断发生了什么的能力,因为我希望标志默认值显示在 --help 中。

关于go - 如何引用go-flag IsSet,需要功能代码示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41528341/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com