Go Tutorials

Go Programs

How to check if Two Sets are Equal in Go


How to check if Two Sets are Equal in Go ?

Answer

In Go, sets are typically implemented using maps. You can check if two sets are equal by comparing their elements.



✐ Examples

1 Check Equality of Two Sets using Maps - Equal Sets

In this example,

  1. We create two maps named set1 and set2.
  2. We add the same elements to both maps.
  3. We compare the length of both maps to ensure they have the same number of elements.
  4. We iterate over the keys of one map and check if each key exists in the other map.
  5. If all keys are found, then the sets are equal; otherwise, they are not.

Go Program

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

func setsAreEqual(set1, set2 map[int]bool) bool {
    if len(set1) != len(set2) {
        return false
    }
    for key := range set1 {
        if !set2[key] {
            return false
        }
    }
    return true
}

fmt.Println(setsAreEqual(set1, set2)) // Output: true

Output

true

2 Check Equality of Two Sets using Maps - Non-Equal Sets

In this example,

  1. We create two maps named set1 and set2.
  2. We add different elements to each map.
  3. We compare the length of both maps to ensure they have the same number of elements.
  4. We iterate over the keys of one map and check if each key exists in the other map.
  5. If all keys are found, then the sets are equal; otherwise, they are not.

Go Program

set1 := map[int]bool{1: true, 2: true, 3: true}
set2 := map[int]bool{4: true, 5: true, 6: true}

func setsAreEqual(set1, set2 map[int]bool) bool {
    if len(set1) != len(set2) {
        return false
    }
    for key := range set1 {
        if !set2[key] {
            return false
        }
    }
    return true
}

fmt.Println(setsAreEqual(set1, set2)) // Output: false

Output

false

Summary

In this tutorial, we learned How to check if Two Sets are Equal 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 ?