Documentation
¶
Overview ¶
Package set
See more: https://go.dev/blog/generic-interfacess
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Comparer ¶ added in v0.8.0
type Comparer[E any] interface { comparable // cmp.Ordered tree.Comparer[E] }
type HashSet ¶ added in v0.8.0
type HashSet[E comparable] map[E]struct{}
type OrderedSet ¶ added in v0.8.0
type OrderedSet[E Comparer[E]] struct { // contains filtered or unexported fields }
OrderedSet
type Player struct {
Name string
Rating int
}
func (p Player) Compare(q Player) int {
return cmp.Compare(p.Rating, q.Rating)
}
players := []Player{
{"Garry Kasparov", 2851},
{"Magnus Carlsen", 2882},
{"Bobby Fischer", 2785},
{"Anatoly Karpov", 2780},
{"Mikhail Tal", 2705},
}
var s OrderedSet[Player]
for _, p := range players {
s.Add(p)
}
for p := range s.All() {
fmt.Println(p)
}
func (*OrderedSet[E]) Add ¶ added in v0.8.0
func (s *OrderedSet[E]) Add(e E)
func (*OrderedSet[E]) All ¶ added in v0.8.0
func (s *OrderedSet[E]) All() iter.Seq[E]
func (*OrderedSet[E]) Has ¶ added in v0.8.0
func (s *OrderedSet[E]) Has(e E) bool
Click to show internal directories.
Click to hide internal directories.