Another approach would be using slices.Contains()
package main
import (
"fmt"
"slices"
)
type visit struct {
x, y int
}
func main() {
visited := []visit{
visit{1, 100},
visit{2, 2},
visit{1, 100},
visit{1, 1},
}
var unique []visit
for _, i := range visited {
skip := slices.Contains(unique, i)
if !skip {
unique = append(unique, i)
}
}
fmt.Println(unique)
}