El lenguaje Go proporciona una implementación de soporte incorporada de la reflexión en tiempo de ejecución y permite que un programa manipule objetos con tipos arbitrarios con la ayuda del paquete de reflexión. La función reflect.DeepEqual() en Golang se usa para verificar si x e y son «profundamente iguales» o no. Para acceder a esta función, es necesario importar el paquete reflect en el programa.
Sintaxis:
func DeepEqual(x, y interfaz{}) bool
Parámetros: Esta función toma dos parámetros con valor de cualquier tipo, es decir, x, y.
Valor devuelto: esta función devuelve el valor booleano.
Los siguientes ejemplos ilustran el uso del método anterior en Golang:
Ejemplo 1:
Go
// Golang program to illustrate // reflect.DeepEqual() Function package main import ( "fmt" "reflect" ) // Main function 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", } // DeepEqual is used to check // two interfaces are equal or not res1 := reflect.DeepEqual(map_1, map_2) fmt.Println("Is Map 1 is equal to Map 2: ", res1) }
Producción:
Is Map 1 is equal to Map 2: true
Ejemplo 2:
Go
// Golang program to illustrate // reflect.DeepEqual() Function package main import ( "fmt" "reflect" ) // Main function func main() { src := reflect.ValueOf([]int{10, 20, 32}) dest := reflect.ValueOf([]int{1, 2, 3}) cnt := reflect.Copy(dest, src) cnt+=1 // DeepEqual is used to check // two interfaces are equal or not res1 := reflect.DeepEqual(src, dest ) fmt.Println("Is dest is equal to src: ", res1) }
Producción:
Is dest is equal to src: false
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA