You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

27 lines
495 B

package util
import (
"flag"
"fmt"
"strings"
)
// ParseParamSetFlag parse param from a=b,c=d
func ParseParamSetFlag(param string, fset *flag.FlagSet) (err error) {
if param == "" {
return nil
}
args := strings.Split(param, ",")
for _, arg := range args {
spec := strings.SplitN(arg, "=", 2)
if len(spec) == 2 {
err = fset.Set(spec[0], spec[1])
} else {
err = fset.Set(spec[0], "")
}
if err != nil {
return fmt.Errorf("set flag error: %s", err)
}
}
return nil
}