Set can be defined almost the same way, but instead of slice, the underlying structure would be map:

type Set[T comparable] struct {

elems map[T]bool

}

Note that I'm using the newest generics syntax: [T comparable]

And not the older syntax from the article: (type T)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store