(a []T, equal func(a, b T) bool)
| 128 | } |
| 129 | |
| 130 | func UniqueFunc[T any](a []T, equal func(a, b T) bool) []T { |
| 131 | cpy := make([]T, 0, len(a)) |
| 132 | |
| 133 | for _, v := range a { |
| 134 | if ContainsCompare(cpy, v, equal) { |
| 135 | continue |
| 136 | } |
| 137 | |
| 138 | cpy = append(cpy, v) |
| 139 | } |
| 140 | |
| 141 | return cpy |
| 142 | } |
| 143 | |
| 144 | // Unique returns a new slice with all duplicate elements removed. |
| 145 | func Unique[T comparable](a []T) []T { |