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.
In this example,
set1
, set2
, and set3
. We add the elements 1, 2, 3
to set1
, 4, 5, 6
to set2
, and 7, 8, 9
to set3
.setOfSets
and add set1
, set2
, and set3
to it. This nests the three sets within a single map.setOfSets
using a for loop. Within the loop, we print each individual set to the standard output.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: map[1:true 2:true 3:true] map[4:true 5:true 6:true] map[7:true 8:true 9:true]
In this example,
setA
, setB
, and setC
. We add the elements "apple", "banana", "cherry"
to setA
, "dog", "elephant", "fox"
to setB
, and "grape", "honeydew", "kiwi"
to setC
.setOfStringSets
and add setA
, setB
, and setC
to it. This nests the three sets within a single map.setOfStringSets
using a for loop. Within the loop, we print each individual set to the standard output.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: map[apple:true banana:true cherry:true] map[dog:true elephant:true fox:true] map[grape:true honeydew:true kiwi:true]
In this tutorial, we learned How to create a Set of Sets in Go language with well detailed examples.