An open API service indexing awesome lists of open source software.

https://github.com/rutaka-n/genericset

simple map-based implementation of generic set in go
https://github.com/rutaka-n/genericset

generics go golang set sets

Last synced: about 1 month ago
JSON representation

simple map-based implementation of generic set in go

Awesome Lists containing this project

README

        

[![Go Reference](https://pkg.go.dev/badge/github.com/rutaka-n/genericset.svg)](https://pkg.go.dev/github.com/rutaka-n/genericset)
# Generic Set

`genericset` provides a simple map-based implementation of generic set.

It uses `sync.RWMutex` to keep consistency of data.

## Installation

```sh
go get github.com/rutaka-n/genericset
```

## Usage

```go
import (
gs "github.com/rutaka-n/genericset"
)

func main() {
s1 := gs.New[int]()
s2 := gs.New[int]()

s1.Add(1,2,3)
s2.Add(3,4,5)

s1.Intersection(&s2) // [3]
s1.Union(&s2) // [1,2,3,4,5]
s1.IsEmpty() // false
s1.Size() // 3
s1.IsSubset(&s2) // false
// etc
}
```