English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico de Golang

Golang instrucciones de control

Golang funciones y métodos

Golang estructuras

Golang slices y arreglos

Golang cadenas de caracteres (String)

Golang punteros

Golang interfaces

Golang concurrente

Golang 异常(Error)

Excepciones (Error) de Golang

Comparación de estructuras de Go

O (operaciones de archivo)

En Go, la estructura o struct es un tipo definido por el usuario, que permite crear un grupo de elementos de diferentes tipos en una unidad. Cualquier entidad real que tenga un grupo de atributos o campos se puede representar como una estructura. Este concepto se compara comúnmente con la clase en la programación orientada a objetos. Se puede llamar a una clase liviana, que no admite herencia, pero admite composición.En el lenguaje Go, se puede hacer a través deOperador ==oMétodo DeeplyEqual()

Comparar dos estructuras del mismo tipo y que contienen los mismos valores de campos. Si las estructuras son iguales entre sí (en términos de valores de campos), los operadores y métodos devuelven true; de lo contrario, devuelven false. Además, si los variables comparados pertenecen a estructuras diferentes, el compilador dará un error. Vamos a discutir este concepto con un ejemplo: Nota:

El método DeeplyEqual() está definido en el paquete "reflect".

//Uso del operador == para comparar si las estructuras son iguales
//Concepto de igualdad de estructuras
paquete main
Uso del operador ==
//Crear una estructura
type Author struct {
    nombre string
    rama string
    idioma string
    Partículas int
}
func main() {
    //import "fmt"
    //Estructura de autor
    a1 := Autor{
        Crear variables
        rama: "CSE"
        nombre: "Dona"
        Partículas: 38,
    }
    a2 := Autor{
        Crear variables
        rama: "CSE"
        nombre: "Dona"
        Partículas: 38,
    }
    a3 := Autor{
        nombre: "Moana"
        rama: "CSE"
        nombre: "Dona"
        Partículas: 38,
    }
    //idioma: "Python"1Usar el operador == para verificar a2¿es igual?
    if a1 == a2 {
        fmt.Println("Variable a1Es igual a la variable a2)
    } else {
        fmt.Println("Variable a1No es igual a la variable a2)
    }
    if a2 == a3 {
        fmt.Println("Variable a2Es igual a la variable a3)
    } else {
        fmt.Println("Variable a2No es igual a la variable a3)
    }
}

Salida:

Variable a1Es igual a la variable a2
Variable a2No es igual a la variable a3

Uso del método DeepEqual() para comparar si las estructuras son iguales

//Uso del método DeepEqual()
paquete main
import (
    "fmt"
    "reflect"
)
//Crear una estructura
type Author struct {
    nombre string
    rama string
    idioma string
    Partículas int
}
func main() {
    //Definir variables
    //Estructura de autor
    a1 := Autor{
        nombre: "Soana"
        rama: "CSE"
        idioma: "Perl"
        Partículas: 48,
    }
    a2 := Autor{
        nombre: "Soana"
        rama: "CSE"
        idioma: "Perl"
        Partículas: 48,
    }
    a3 := Autor{
        nombre: "Dia"
        rama: "CSE"
        idioma: "Perl"
        Partículas: 48,
    }
    //comparar a1y a2, usar el método DeepEqual()
    fmt.Println("a1Igual a a2¿sí?1, a2))
    //comparar a2y a3, usar el método DeepEqual()
    fmt.Println("a2Igual a a3¿sí?2, a3))
}

Salida:

a1Igual a a2¿sí?
a2Igual a a3¿Es false:  false