Функция maps.Equal
Функция maps.Equal сравнивает две карты на равенство.
Она возвращает true, если обе карты содержат одинаковое
количество элементов и для всех пар ключ-значение выполняется
равенство значений. Первым параметром функция принимает первую
карту, вторым - вторую карту для сравнения.
Синтаксис
maps.Equal(map1, map2)
Пример
Давайте сравним две одинаковые карты с целочисленными ключами и строковыми значениями:
package main
import (
"fmt"
"maps"
)
func main() {
m1 := map[int]string{1: "a", 2: "b", 3: "c"}
m2 := map[int]string{1: "a", 2: "b", 3: "c"}
res := maps.Equal(m1, m2)
fmt.Println(res)
}
Результат выполнения кода:
true
Пример
Теперь сравним две карты, которые отличаются значениями по одному из ключей:
package main
import (
"fmt"
"maps"
)
func main() {
m1 := map[int]string{1: "a", 2: "b", 3: "c"}
m2 := map[int]string{1: "a", 2: "x", 3: "c"}
res := maps.Equal(m1, m2)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Сравнение карт с разным количеством элементов:
package main
import (
"fmt"
"maps"
)
func main() {
m1 := map[string]int{"a": 1, "b": 2, "c": 3}
m2 := map[string]int{"a": 1, "b": 2}
res := maps.Equal(m1, m2)
fmt.Println(res)
}
Результат выполнения кода:
false
Пример
Сравнение двух пустых карт:
package main
import (
"fmt"
"maps"
)
func main() {
m1 := map[string]int{}
m2 := map[string]int{}
res := maps.Equal(m1, m2)
fmt.Println(res)
}
Результат выполнения кода:
true
Смотрите также
-
функцию
maps.EqualFunc,
которая позволяет сравнить карты с использованием пользовательской функции сравнения значений -
функцию
maps.Copy,
которая копирует элементы из одной карты в другую -
функцию
maps.Clone,
которая создает копию карты -
функцию
maps.Keys,
которая возвращает слайс ключей карты