in parse/parse.go [367:390]
func (p *flagParser) parsePrimitive(stopSet string) (interface{}, error) {
content, err := p.parseNonQuotedString(stopSet)
if err != nil {
return nil, err
}
if content == "null" {
return nil, nil
}
if b, ok := parseBoolValue(content); ok {
return b, nil
}
if n, err := strconv.ParseUint(content, 0, 64); err == nil {
return n, nil
}
if n, err := strconv.ParseInt(content, 0, 64); err == nil {
return n, nil
}
if n, err := strconv.ParseFloat(content, 64); err == nil {
return n, nil
}
return content, nil
}