En el lenguaje Go, un mapa es una estructura de datos poderosa, ingeniosa y versátil. Golang Maps es una colección de pares desordenados de clave-valor. Es ampliamente utilizado porque proporciona búsquedas rápidas y valores que pueden recuperarse, actualizarse o eliminarse con la ayuda de claves.
En el lenguaje Go, puede comparar dos mapas entre sí utilizando la función DeepEqual() proporcionada por el paquete reflect. Esta función devuelve verdadero si ambos mapas cumplen las siguientes condiciones:
- Ambos mapas son nulos o no nulos.
- Ambos mapas tienen la misma longitud.
- Ambos mapas son el mismo objeto de mapa o sus claves correspondientes se asignan a valores profundamente iguales.
De lo contrario, esta función devuelve falso.
Sintaxis:
reflect.DeepEqual(a, b)
Aquí, a y b son mapas , y esta función verifica si a y b son profundamente iguales o no, luego devuelve un resultado de tipo booleano.
Ejemplo:
Go
// Go program to illustrate // how to compare two maps package main import ( "fmt" "reflect" ) func main() { map_1 := map[int]string{ 200: "Anita", 201: "Neha", 203: "Suman", 204: "Robin", 205: "Rohit", } map_2 := map[int]string{ 200: "Anita", 201: "Neha", 203: "Suman", 204: "Robin", 205: "Rohit", 206: "Sumit", } map_3 := map[int]string{ 200: "Anita", 201: "Neha", 203: "Suman", 204: "Robin", 205: "Rohit", } map_4 := map[string]int{ "Anita": 200, "Neha": 201, "Suman": 203, "Robin": 204, "Rohit": 205, } // Comparing maps // Using DeepEqual() function res1 := reflect.DeepEqual(map_1, map_2) res2 := reflect.DeepEqual(map_1, map_3) res3 := reflect.DeepEqual(map_1, map_4) res4 := reflect.DeepEqual(map_2, map_3) res5 := reflect.DeepEqual(map_3, map_4) res6 := reflect.DeepEqual(map_4, map_4) res7 := reflect.DeepEqual(map_2, map_4) // Displaying result fmt.Println("Is Map 1 is equal to Map 2: ", res1) fmt.Println("Is Map 1 is equal to Map 3: ", res2) fmt.Println("Is Map 1 is equal to Map 4: ", res3) fmt.Println("Is Map 2 is equal to Map 3: ", res4) fmt.Println("Is Map 3 is equal to Map 4: ", res5) fmt.Println("Is Map 4 is equal to Map 4: ", res6) fmt.Println("Is Map 2 is equal to Map 4: ", res7) }
Producción:
Is Map 1 is equal to Map 2: false Is Map 1 is equal to Map 3: true Is Map 1 is equal to Map 4: false Is Map 2 is equal to Map 3: false Is Map 3 is equal to Map 4: false Is Map 4 is equal to Map 4: true Is Map 2 is equal to Map 4: false
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA