slices.go
1package slicesext
2
3func IsSubset[T comparable](a, b []T) bool {
4 if len(a) > len(b) {
5 return false
6 }
7 set := make(map[T]struct{}, len(b))
8 for _, item := range b {
9 set[item] = struct{}{}
10 }
11 for _, item := range a {
12 if _, exists := set[item]; !exists {
13 return false
14 }
15 }
16 return true
17}