使用FLAG包,有没有好的方法来区分是否传递了字符串标志?
例如,当标志未传递时,我希望将其设置为动态默认值.但是,如果提供了标志但值为""
,我想将其设置为空.
目前,我正在做以下工作:
flagHost = flag.String(flagHostFlagKey, "", "...")
...
setHostname := false
for _, arg := range os.Args {
if arg == "-"+flagHostFlagKey {
setHostname = true
}
}
if !setHostname {
...
这看起来不错,但有点难看.在使用标准旗帜套餐的同时,有没有更好的办法?