diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index f9ff6dc55..818a17b15 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -8,9 +8,13 @@ import ( "path/filepath" "runtime" + _ "embed" "gopkg.in/yaml.v3" ) +//go:embed version +var Version string + var ( _, b, _, _ = runtime.Caller(0) // Root folder of this project diff --git a/pkg/common/config/version b/pkg/common/config/version new file mode 100644 index 000000000..1c5ae5820 --- /dev/null +++ b/pkg/common/config/version @@ -0,0 +1 @@ +v3.0.0 \ No newline at end of file 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 去重