Added space separated string to IntSlice conversion

This commit is contained in:
Ricardo Gerardi 2020-05-13 23:18:19 -04:00
parent 1ffadf5510
commit 5e269c4527
2 changed files with 4 additions and 0 deletions

View File

@ -987,10 +987,12 @@ func TestToIntSliceE(t *testing.T) {
{[]interface{}{1.2, 3.2}, []int{1, 3}, false},
{[]string{"2", "3"}, []int{2, 3}, false},
{[2]string{"2", "3"}, []int{2, 3}, false},
{"2 3", []int{2, 3}, false},
// errors
{nil, nil, true},
{testing.T{}, nil, true},
{[]string{"foo", "bar"}, nil, true},
{"2 a", []int{}, true},
}
for i, test := range tests {

View File

@ -1151,6 +1151,8 @@ func ToIntSliceE(i interface{}) ([]int, error) {
switch v := i.(type) {
case []int:
return v, nil
case string:
return ToIntSliceE(strings.Fields(v))
}
kind := reflect.TypeOf(i).Kind()