diff --git a/cast_test.go b/cast_test.go index 6bea164..cddd97f 100644 --- a/cast_test.go +++ b/cast_test.go @@ -717,6 +717,10 @@ func TestToStringSliceE(t *testing.T) { {[]int8{int8(1), int8(2)}, []string{"1", "2"}, false}, {[]int32{int32(1), int32(2)}, []string{"1", "2"}, false}, {[]int64{int64(1), int64(2)}, []string{"1", "2"}, false}, + {[]uint{uint(1), uint(2)}, []string{"1", "2"}, false}, + {[]uint8{uint8(1), uint8(2)}, []string{"1", "2"}, false}, + {[]uint32{uint32(1), uint32(2)}, []string{"1", "2"}, false}, + {[]uint64{uint64(1), uint64(2)}, []string{"1", "2"}, false}, {[]float32{float32(1.01), float32(2.01)}, []string{"1.01", "2.01"}, false}, {[]float64{float64(1.01), float64(2.01)}, []string{"1.01", "2.01"}, false}, {[]string{"a", "b"}, []string{"a", "b"}, false}, diff --git a/caste.go b/caste.go index d49bbf8..795cd94 100644 --- a/caste.go +++ b/caste.go @@ -1283,6 +1283,26 @@ func ToStringSliceE(i interface{}) ([]string, error) { a = append(a, ToString(u)) } return a, nil + case []uint8: + for _, u := range v { + a = append(a, ToString(u)) + } + return a, nil + case []uint: + for _, u := range v { + a = append(a, ToString(u)) + } + return a, nil + case []uint32: + for _, u := range v { + a = append(a, ToString(u)) + } + return a, nil + case []uint64: + for _, u := range v { + a = append(a, ToString(u)) + } + return a, nil case []float32: for _, u := range v { a = append(a, ToString(u))