GitHub - StudioSol/set: A simple Set data structure implementation in Go (Golang) using LinkedHashMap. (original) (raw)

Set is a simple Set data structure implementation in Go (Golang) using LinkedHashMap.

package main

import ( "fmt"

"github.com/StudioSol/set"

)

func main() { duplicatedInt64 := []int64{1, 1, 2, 2, 3, 3}

unduplicatedInt64 := set.NewLinkedHashSetINT64(duplicatedInt64...)

// Get a []int64 from set
unduplicatedArray := unduplicatedInt64.AsSlice()
fmt.Println(unduplicatedArray) // will print [1 2 3]

// Get the Length from set
fmt.Println(unduplicatedInt64.Length()) // will print 3

// Add new items in set
unduplicatedInt64.Add(1, 2, 3, 4)
fmt.Println(unduplicatedInt64.AsSlice()) // will print [1 2 3 4]

// Check if item is in set
fmt.Println(unduplicatedInt64.InArray(1)) // will print true
fmt.Println(unduplicatedInt64.InArray(5)) // will print false

// Get a []interface{} from set
interfaceList := unduplicatedInt64.AsInterface()
fmt.Println(interfaceList) // will print [1 2 3 4]

// Allow to iter over set
for i := range unduplicatedInt64.Iter() {
    fmt.Println(i)
}

// Remove items from set
unduplicatedInt64.Remove(0, 1, 2, 3)
fmt.Println(unduplicatedInt64.AsSlice()) // will print [4]

}

// You have same methods to LinkedHashSetString