improva gcmd.Parser/gres

This commit is contained in:
John
2020-01-15 09:36:58 +08:00
parent edf2366296
commit b7d194cf52
4 changed files with 10 additions and 13 deletions

View File

@ -172,7 +172,13 @@ func (p *Parser) GetOpt(name string, def ...string) string {
// GetOptVar returns the option value named <name> as *gvar.Var.
func (p *Parser) GetOptVar(name string, def ...interface{}) *gvar.Var {
return gvar.New(p.GetOpt(name, def...))
if p.ContainsOpt(name) {
return gvar.New(p.GetOpt(name))
}
if len(def) > 0 {
return gvar.New(def[0])
}
return gvar.New(nil)
}
// GetOptAll returns all parsed options.
@ -181,7 +187,7 @@ func (p *Parser) GetOptAll() map[string]string {
}
// ContainsOpt checks whether option named <name> exist in the arguments.
func (p *Parser) ContainsOpt(name string, def ...string) bool {
func (p *Parser) ContainsOpt(name string) bool {
_, ok := p.parsedOptions[name]
return ok
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long