diff options
| author | Alex Flint <[email protected]> | 2016-01-23 18:28:35 -0800 |
|---|---|---|
| committer | Alex Flint <[email protected]> | 2016-01-23 18:28:35 -0800 |
| commit | ed2b19f2bbf787a888bf02eb707a17f4878f4109 (patch) | |
| tree | 5fdbfa4ce77fba0bb28270ec0bec41050de45213 /parse.go | |
| parent | e560d079baf3881884b897c4cc5850675aad7c15 (diff) | |
add support for time.Duration fields
Diffstat (limited to 'parse.go')
| -rw-r--r-- | parse.go | 40 |
1 files changed, 0 insertions, 40 deletions
@@ -5,7 +5,6 @@ import ( "fmt" "os" "reflect" - "strconv" "strings" ) @@ -329,42 +328,3 @@ func setSlice(dest reflect.Value, values []string) error { } return nil } - -// set a value from a string -func setScalar(v reflect.Value, s string) error { - if !v.CanSet() { - return fmt.Errorf("field is not exported") - } - - switch v.Kind() { - case reflect.String: - v.Set(reflect.ValueOf(s)) - case reflect.Bool: - x, err := strconv.ParseBool(s) - if err != nil { - return err - } - v.Set(reflect.ValueOf(x)) - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - x, err := strconv.ParseInt(s, 10, v.Type().Bits()) - if err != nil { - return err - } - v.Set(reflect.ValueOf(x).Convert(v.Type())) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - x, err := strconv.ParseUint(s, 10, v.Type().Bits()) - if err != nil { - return err - } - v.Set(reflect.ValueOf(x).Convert(v.Type())) - case reflect.Float32, reflect.Float64: - x, err := strconv.ParseFloat(s, v.Type().Bits()) - if err != nil { - return err - } - v.Set(reflect.ValueOf(x).Convert(v.Type())) - default: - return fmt.Errorf("not a scalar type: %s", v.Kind()) - } - return nil -} |
