import (
"fmt"
"slices"
)
var numbers = []int{1, 3, 2, 1, 3}
var unique1 = unique(numbers)
//unique1 is [1 3 2]
slices.Sort(numbers)
var unique2 = slices.Compact(numbers)
//unique2 is [1 2 3]
fmt.Println("unique1 is", unique1)
fmt.Println("unique2 is", unique2)
func unique(input []int) []int {
result := make([]int, 0, len(input))
values := make(map[int]bool)
for _, val := range input {
if _, ok := values[val]; !ok {
values[val] = true
result = append(result, val)
}
}
return result
}