Initially, I was a bit sceptic when generics where introduced in Golang, but I'm slowly starting to love them.

Recently, I need to filter a slice and remove all duplicates. With generics, this is a breeze:

func Unique[T comparable](s []T) []T {
    inResult := make(map[T]bool)
    var result []T
    for _, str := range s {
        if _, ok := inResult[str]; !ok {
            inResult[str] = true
            result = append(result, str)
        }
    }
    return result
}

This is much easier than having to create the same function for each type you want to support.