Sobes.tech
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.