С пакетом флагов, есть ли хороший способ отличить, прошел ли флаг строки?
Например, когда флаг не передан, я хочу установить его в динамическое значение по умолчанию. Однако я хочу, чтобы он был пустым, если флаг был предоставлен, но со значением ""
.
Current Я делаю следующее:
flagHost = flag.String(flagHostFlagKey, "", "...")
...
setHostname := false
for _, arg := range os.Args {
if arg == "-"+flagHostFlagKey {
setHostname = true
}
}
if !setHostname {
...
Кажется, что все работает нормально, но вроде уродливо. Есть ли лучший способ во время пребывания в стандартном пакете флагов?