package main
import "fmt"
type MyType interface {
int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64 | string
}
func Unique[T MyType](m []T) []T {
var k2 int
un := []T{}
for k1, v1 := range m {
for k2 = 0; k2 < k1 && v1 != m[k2]; k2++ {
}
if k1 == k2 || v1 != m[k2] {
un = append(un, v1)
}
}
return un
}
func main() {
input := []string{"green", "red", "green", "blue", "red"}
unique := Unique(input)
fmt.Println(unique)
}