diff --git a/flag_float64_slice.go b/flag_float64_slice.go index 5f6ae72..706ee6c 100644 --- a/flag_float64_slice.go +++ b/flag_float64_slice.go @@ -155,11 +155,9 @@ func (c *Context) Float64Slice(name string) []float64 { func lookupFloat64Slice(name string, set *flag.FlagSet) []float64 { f := set.Lookup(name) if f != nil { - parsed, err := (f.Value.(*Float64Slice)).Value(), error(nil) - if err != nil { - return nil + if slice, ok := f.Value.(*Float64Slice); ok { + return slice.Value() } - return parsed } return nil } diff --git a/flag_int64_slice.go b/flag_int64_slice.go index edc3908..6c7fd93 100644 --- a/flag_int64_slice.go +++ b/flag_int64_slice.go @@ -151,11 +151,9 @@ func (c *Context) Int64Slice(name string) []int64 { func lookupInt64Slice(name string, set *flag.FlagSet) []int64 { f := set.Lookup(name) if f != nil { - parsed, err := (f.Value.(*Int64Slice)).Value(), error(nil) - if err != nil { - return nil + if slice, ok := f.Value.(*Int64Slice); ok { + return slice.Value() } - return parsed } return nil } diff --git a/flag_int_slice.go b/flag_int_slice.go index 94479f6..4e0afc0 100644 --- a/flag_int_slice.go +++ b/flag_int_slice.go @@ -165,11 +165,9 @@ func (c *Context) IntSlice(name string) []int { func lookupIntSlice(name string, set *flag.FlagSet) []int { f := set.Lookup(name) if f != nil { - parsed, err := (f.Value.(*IntSlice)).Value(), error(nil) - if err != nil { - return nil + if slice, ok := f.Value.(*IntSlice); ok { + return slice.Value() } - return parsed } return nil } diff --git a/flag_string_slice.go b/flag_string_slice.go index 71bfef2..b24664b 100644 --- a/flag_string_slice.go +++ b/flag_string_slice.go @@ -149,11 +149,9 @@ func (c *Context) StringSlice(name string) []string { func lookupStringSlice(name string, set *flag.FlagSet) []string { f := set.Lookup(name) if f != nil { - parsed, err := (f.Value.(*StringSlice)).Value(), error(nil) - if err != nil { - return nil + if slice, ok := f.Value.(*StringSlice); ok { + return slice.Value() } - return parsed } return nil }