From c63f7c9e4814c07c0cea2949a7ae2b022e47a63a Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Wed, 8 Mar 2023 11:24:51 +0800 Subject: [PATCH] utils todo --- pkg/utils/utils_v2.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/utils/utils_v2.go b/pkg/utils/utils_v2.go index 8d567e050..13d52cf15 100644 --- a/pkg/utils/utils_v2.go +++ b/pkg/utils/utils_v2.go @@ -34,7 +34,19 @@ func SliceSubAny[E comparable, T any](a []E, b []T, fn func(t T) E) []E { // SliceAnySub a中存在,b中不存在 (a-b) fn 返回的是uuid func SliceAnySub[E any, T comparable](a, b []E, fn func(t E) T) []E { - panic("todo") + m := make(map[T]E) + for i := 0; i < len(b); i++ { + v := b[i] + m[fn(v)] = v + } + var es []E + for i := 0; i < len(a); i++ { + v := a[i] + if _, ok := m[fn(v)]; !ok { + es = append(es, v) + } + } + return es } // DistinctAny 去重