50 lines
986 B
Go
50 lines
986 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"../../custom-set"
|
|
)
|
|
|
|
func main() {
|
|
fmt.Println("Creating Set 1")
|
|
s1 := stringset.NewFromSlice([]string{"a", "b"})
|
|
addAndOutput(s1, "A")
|
|
addAndOutput(s1, "c")
|
|
addAndOutput(s1, "B")
|
|
addAndOutput(s1, "B1")
|
|
addAndOutput(s1, "A1")
|
|
addAndOutput(s1, "B2")
|
|
addAndOutput(s1, "A2")
|
|
addAndOutput(s1, "B3")
|
|
addAndOutput(s1, "A3")
|
|
delAndOutput(s1, "a")
|
|
|
|
fmt.Println("Creating Set 2")
|
|
s2 := stringset.NewFromSlice([]string{"A", "c"})
|
|
addAndOutput(s2, "a")
|
|
addAndOutput(s2, "b")
|
|
addAndOutput(s2, "B1")
|
|
addAndOutput(s2, "A3")
|
|
addAndOutput(s2, "A2")
|
|
addAndOutput(s2, "B2")
|
|
addAndOutput(s2, "A1")
|
|
addAndOutput(s2, "B3")
|
|
addAndOutput(s2, "B")
|
|
s2.PrettyPrint()
|
|
delAndOutput(s2, "a")
|
|
s2.PrettyPrint()
|
|
}
|
|
|
|
func addAndOutput(s *stringset.Set, val string) {
|
|
fmt.Println("Adding " + val)
|
|
s.Add(val)
|
|
fmt.Println(s.String())
|
|
}
|
|
|
|
func delAndOutput(s *stringset.Set, val string) {
|
|
fmt.Println("Deleting " + val)
|
|
s.Delete(val)
|
|
fmt.Println(s.String())
|
|
}
|