¿Cómo comparar estructuras con los diferentes valores asignados a los campos de datos en Golang?

Una estructura (Estructura) es un tipo definido por el usuario en Golang que contiene una colección de campos/propiedades con nombre que crea tipos de datos propios al combinar uno o más tipos. Además, este concepto generalmente se compara con las clases en la programación orientada a objetos. Una estructura tiene diferentes campos del mismo o diferente tipo de datos y se declara al componer un conjunto fijo de campos únicos.

Definición de un tipo de estructura: la declaración de la estructura comienza con la palabra clave type, luego se define un nombre para una nueva estructura y sigue la palabra clave struct. Después de ese corchete, comience con la definición de una serie de campos de datos con un nombre y un tipo.

Sintaxis:

type StructName struct {
    field1 fieldType1
    field2 fieldType2
}

Ejemplo:

// Creating a structure
type Employee struct {
    firstName string
        lastName string
            salary int
                age int
}

A continuación se dan ejemplos para explicar: Usando un operador de comparación, se pueden comparar estructuras del mismo tipo.

Ejemplo 1:

// Go program to illustrate the
// concept of Struct comparison
// using == operator
package main
  
import "fmt"
  
// Creating a structure
type Employee struct {
    FirstName, LastName string
    Salary              int
    Age                 int
}
  
// Main function
func main() {
  
    // Creating variables
    // of Employee structure
    A1 := Employee{
        FirstName: "Seema",
        LastName:  "Singh",
        Salary:    20000,
        Age:       23,
    }
  
    A2 := Employee{
        FirstName: "Seema",
        LastName:  "Singh",
        Salary:    20000,
        Age:       23,
    }
  
    // Checking if A1 is equal
    // to A2 or not
    // Using == operator
    if A1 == A2 {
  
        fmt.Println("Variable A1 is equal to variable A2")
  
    } else {
  
        fmt.Println("Variable A1 is not equal to variable A2")
    }
}

Producción:

Variable A1 is equal to variable A2

Ejemplo 2:

// Go program to illustrate the
// concept of Struct comparison
// with the Different Values Assigned
package main
  
import "fmt"
  
// Creating a structure
type triangle struct {
    side1 float64
    side2 float64
    side3 float64
    color string
}
  
// Main function
func main() {
  
    // Creating variables
    // of Triangle structure
    var tri1 = triangle{10, 20, 30, "Green"}
    tri2 := triangle{side1: 20, side2: 10,
                  side3: 10, color: "Red"}
  
    // Checking if tri1 is equal
    // to tri2 or not
    // Using == operator
    if tri1 == tri2 {
        fmt.Println("True")
    } else {
        fmt.Println("False")
    }
  
    // Checking if tri3 is equal
    // to tri4 or not
    // Using == operator
    tri3 := new(triangle)
    var tri4 = &triangle{}
  
    if tri3 == tri4 {
        fmt.Println("True")
    } else {
        fmt.Println("False")
    }
}

Producción:

False
False

Publicación traducida automáticamente

Artículo escrito por shivanisinghss2110 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *