Campos promocionados en la estructura de Golang

En la estructura de Go , los campos promocionados son como campos anónimos, el tipo de campo es el nombre del campo. Usamos este concepto en la estructura anidada donde una estructura es un campo en otra estructura, simplemente agregando el nombre de la estructura en otra estructura y se comporta como el campo anónimo de la estructura anidada. Y los campos de esa estructura (aparte de la estructura anidada) son parte de la estructura anidada, este tipo de campos se conocen como campos Promocionados. Si la estructura anónima o la estructura anidada y la estructura principal contienen un campo que tiene el mismo nombre, ese campo no se promociona, solo se promocionan a la estructura campos con nombres diferentes.

Sintaxis:

type x struct{
// Fields
}

type y struct{
// Fields of y structure
x
}

Analicemos este concepto con la ayuda de un ejemplo:

Ejemplo:

// Go program to illustrate the
// concept of the promoted fields
package main
  
import "fmt"
  
// Structure
type details struct {
  
    // Fields of the
    // details structure
    name   string
    age    int
    gender string
}
  
// Nested structure
type student struct {
    branch string
    year   int
    details
}
  
func main() {
  
    // Initializing the fields of
    // the student structure
    values := student{
        branch: "CSE",
        year:   2010,
        details: details{
          
            name:   "Sumit",
            age:    28,
            gender: "Male",
        },
    }
  
    // Promoted fields of the student structure
    fmt.Println("Name: ", values.name)
    fmt.Println("Age: ", values.age)
    fmt.Println("Gender: ", values.gender)
  
    // Normal fields of
    // the student structure
    fmt.Println("Year: ", values.year)
    fmt.Println("Branch : ", values.branch)
}

Producción:

Name:  Sumit
Age:  28
Gender:  Male
Year:  2010
Branch :  CSE

Explicación: En el ejemplo anterior, tenemos dos estructuras denominadas detalles y estudiante. Donde la estructura de detalles es la estructura normal y la estructura del estudiante es la estructura anidada que contiene la estructura de detalles como campos, al igual que los campos anónimos. Ahora, los campos de la estructura de detalles, es decir, el nombre, la edad y el género, se promocionan a la estructura del alumno y se conocen como campos promocionados. Ahora, puede acceder directamente a ellos con la ayuda de la estructura del estudiante como valores.nombre , valores.edad y valores.género .

Publicación traducida automáticamente

Artículo escrito por ankita_saini 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 *