From b399c924b77877a1bf668dbb0bf5c308fa81bddd Mon Sep 17 00:00:00 2001 From: Noah Hsu Date: Wed, 27 Jul 2022 17:08:29 +0800 Subject: [PATCH] chore: slice convert util --- pkg/utils/slice.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pkg/utils/slice.go b/pkg/utils/slice.go index 2be410fc..207b26aa 100644 --- a/pkg/utils/slice.go +++ b/pkg/utils/slice.go @@ -20,3 +20,15 @@ func SliceContains[T comparable](arr []T, v T) bool { } return false } + +func SliceConvert[S any, D any](srcS []S, convert func(src S) (D, error)) ([]D, error) { + var res []D + for i, _ := range srcS { + dst, err := convert(srcS[i]) + if err != nil { + return nil, err + } + res = append(res, dst) + } + return res, nil +}