func to return a given type for a given flag name
(name string, ftype string, convFunc func(sval string) (interface{}, error))
| 402 | |
| 403 | // func to return a given type for a given flag name |
| 404 | func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval string) (interface{}, error)) (interface{}, error) { |
| 405 | flag := f.Lookup(name) |
| 406 | if flag == nil { |
| 407 | err := &NotExistError{name: name, messageType: flagNotDefinedMessage} |
| 408 | return nil, err |
| 409 | } |
| 410 | |
| 411 | if flag.Value.Type() != ftype { |
| 412 | err := fmt.Errorf("trying to get %s value of flag of type %s", ftype, flag.Value.Type()) |
| 413 | return nil, err |
| 414 | } |
| 415 | |
| 416 | sval := flag.Value.String() |
| 417 | result, err := convFunc(sval) |
| 418 | if err != nil { |
| 419 | return nil, err |
| 420 | } |
| 421 | return result, nil |
| 422 | } |
| 423 | |
| 424 | // ArgsLenAtDash will return the length of f.Args at the moment when a -- was |
| 425 | // found during arg parsing. This allows your program to know which args were |
no test coverage detected