func (s IDSet) Difference(other IDSet) IDSet {
	result := make(IDSet)
	// Use the internal map rather than going through the friendlier functions
	// to avoid extra allocation of slices.
	for value := range s {
		if !other.Contains(value) {
			result[value] = struct{}{}
		}
	}
	return result
}
// Difference returns a new IDSet representing all the values in the
// target that are not in the parameter.
Difference returns a new IDSet representing all the values in the
target that are not in the parameter.
// Difference returns a new IDSet representing all the values in the // target that are not in the parameter .
func (s IDSet) Difference(other IDSet) IDSet {
	result := make(IDSet)
	for value := range s {
		if !other.Contains(value) {
			result[value] = struct{}{}
		}
	}
	return result
}
func ( s IDSet ) Difference ( other IDSet ) IDSet { result := make ( IDSet ) for value := range s { if ! other . Contains ( value ) { result [ value ] = struct { } { } } } return result }
Difference returns a new IDSet representing all the values in the
target that are not in the parameter.
Difference returns a new IDSet representing all the values in the target that are not in the parameter .
// Use the internal map rather than going through the friendlier functions // to avoid extra allocation of slices.