Junior — Middle
¿Se puede realizar la comparación de diferentes estructuras de datos?
sobes.tech AI
Respuesta de la IA
En Go, se pueden comparar estructuras de datos si todos sus campos son comparables. Por ejemplo, las estructuras que consisten en tipos básicos (int, string, bool, etc.) se pueden comparar directamente usando el operador ==.
Sin embargo, si una estructura contiene campos que no se pueden comparar (por ejemplo, slices, mapas, funciones), la comparación directa de la estructura generará un error de compilación.
Ejemplo de comparación de estructuras:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{Name: "Alice", Age: 30}
p3 := Person{Name: "Bob", Age: 25}
fmt.Println(p1 == p2) // true
fmt.Println(p1 == p3) // false
}
Si la estructura contiene campos no comparables, como slices, entonces para compararlas se debe implementar una función propia que recorra los elementos y los compare uno a uno.