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}