【发布时间】:2016-06-18 23:13:13
【问题描述】:
有了flag包,有没有好办法区分是否传递了字符串flag?
比如flag不传的时候,我想把它设置成一个动态的默认值。但是,如果提供了标志但值为"",我想将其设置为空。
目前我正在做以下事情:
flagHost = flag.String(flagHostFlagKey, "", "...")
...
setHostname := false
for _, arg := range os.Args {
if arg == "-"+flagHostFlagKey {
setHostname = true
}
}
if !setHostname {
...
这似乎工作正常,但有点难看。在使用标准标志包的同时有更好的方法吗?
【问题讨论】: