How to create a Set of Sets in Go - Step by Step Examples



How to create a Set of Sets in Go ?

Answer

To create a Set of Sets in Go, you can use maps to represent sets. You create individual sets as maps and then add them to another map.



✐ Examples

1 Creating a Set of Sets of Integers

In this example,

  1. First, we create three individual sets of integers named set1, set2, and set3. We add the elements 1, 2, 3 to set1, 4, 5, 6 to set2, and 7, 8, 9 to set3.
  2. Next, we create a map named setOfSets and add set1, set2, and set3 to it. This nests the three sets within a single map.
  3. We then iterate over each set within setOfSets using a for loop. Within the loop, we print each individual set to the standard output.

Go Program

package main

import "fmt"

func main() {
    set1 := map[int]bool{1: true, 2: true, 3: true}
    set2 := map[int]bool{4: true, 5: true, 6: true}
    set3 := map[int]bool{7: true, 8: true, 9: true}

    setOfSets := map[int]map[int]bool{1: set1, 2: set2, 3: set3}

    for _, set := range setOfSets {
        fmt.Println(set)
    }
}

Output

Output:
map[1:true 2:true 3:true]
map[4:true 5:true 6:true]
map[7:true 8:true 9:true]

2 Creating a Set of Sets of Strings

In this example,

  1. First, we create three individual sets of strings named setA, setB, and setC. We add the elements "apple", "banana", "cherry" to setA, "dog", "elephant", "fox" to setB, and "grape", "honeydew", "kiwi" to setC.
  2. Next, we create a map named setOfStringSets and add setA, setB, and setC to it. This nests the three sets within a single map.
  3. We then iterate over each set within setOfStringSets using a for loop. Within the loop, we print each individual set to the standard output.

Go Program

package main

import "fmt"

func main() {
    setA := map[string]bool{"apple": true, "banana": true, "cherry": true}
    setB := map[string]bool{"dog": true, "elephant": true, "fox": true}
    setC := map[string]bool{"grape": true, "honeydew": true, "kiwi": true}

    setOfStringSets := map[int]map[string]bool{1: setA, 2: setB, 3: setC}

    for _, set := range setOfStringSets {
        fmt.Println(set)
    }
}

Output

Output:
map[apple:true banana:true cherry:true]
map[dog:true elephant:true fox:true]
map[grape:true honeydew:true kiwi:true]

Summary

In this tutorial, we learned How to create a Set of Sets in Go language with well detailed examples.




More Go Sets Tutorials

  1. How to create an Empty Set in Go ?
  2. How to Initialize a Set in Go ?
  3. How to Get Length of a Set in Go ?
  4. How to create a Set of size N in Go ?
  5. How to create a Set of Numbers from 1 to N in Go ?
  6. How to create a Set of integers in Go ?
  7. How to create a Set of Strings in Go ?
  8. How to Access Items in a Set in Go ?
  9. How to get a Random Item in a Set in Go ?
  10. How to Iterate Over a Set in Go ?
  11. How to check if a Set is Empty in Go ?
  12. How to check if a Set is Not Empty in Go ?
  13. How to get Subset from a Set in Go ?
  14. How to check if a Specific Item is present in the Set in Go ?
  15. How to check if a Set contains all the items of Another Set in Go ?
  16. How to Sort Items of a Set in Go ?
  17. How to Copy a Set in Go ?
  18. How to add an Item to a Set in Go ?
  19. How to find Union of Two Sets in Go ?
  20. How to find Intersection of Two Sets in Go ?
  21. How to check if Two Sets are Equal in Go ?
  22. How to Convert a Set of Integers to a Set of Strings in Go ?
  23. How to Convert a Set of Strings to a Set of Integers in Go ?
  24. How to Convert a Set of Floats to a Set of Strings in Go ?
  25. How to Convert a Set of Strings to a Set of Floats in Go ?
  26. How to Filter Items of a Set based on a Condition in Go ?
  27. How to Remove Specific Item from a Set in Go ?
  28. How to Remove Items from Set based on a Condition in Go ?
  29. How to create a Set of Sets in Go ?